home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1995 February: Tool Chest / Dev.CD Feb 95 / Dev.CD Feb 95.toast / Sample Code / Newton Sample Code 1.2 / Book Maker / BookSample-2 / Dickens Manual.f < prev    next >
Encoding:
Text File  |  1993-11-04  |  116.5 KB  |  4,732 lines  |  [TEXT/MPS ]

  1. // Created by Dickens 1.0b4/3Nov93
  2. // ¡¡ Note: This file may contain needed resources !! 
  3. // Document
  4. book := {
  5.     version: 1,
  6.     isbn: "dickens:PIEDTS",
  7.     title: "Newton Book Maker User’s Manual",
  8.     shortTitle: "Dickens",
  9.     copyright: "(c) 1993 Apple Computer, Inc.",
  10.     author: "Bob Ebert, PIE DTS",
  11.     publisher: "Apple Computer, Inc.",
  12.     publicationDate: 1254593,
  13.     data: {},   // Author’s own data
  14.     contents: Array(256, NIL),
  15.     styles: [], hints: Array(256, NIL),
  16.     browsers: [], templates: [], rendering: []};
  17. output.book := book;
  18.  
  19. // Hints
  20. book.hints[1] := TRUE;
  21. book.hints[2] := TRUE;
  22. book.hints[3] := TRUE;
  23. book.hints[4] := TRUE;
  24. book.hints[5] := TRUE;
  25. book.hints[6] := TRUE;
  26. book.hints[7] := TRUE;
  27. book.hints[8] := TRUE;
  28. book.hints[9] := TRUE;
  29. book.hints[10] := TRUE;
  30. book.hints[11] := TRUE;
  31. book.hints[12] := TRUE;
  32. book.hints[13] := TRUE;
  33. book.hints[14] := TRUE;
  34. book.hints[15] := TRUE;
  35. book.hints[16] := TRUE;
  36. book.hints[17] := TRUE;
  37. book.hints[18] := TRUE;
  38. book.hints[19] := TRUE;
  39. book.hints[20] := TRUE;
  40. book.hints[21] := TRUE;
  41. book.hints[22] := TRUE;
  42. book.hints[23] := TRUE;
  43. book.hints[24] := StuffHex("201020224E2A8FA808BA90884008102030922A08409C521E789A20498210200E40002299701329087098D21C20AA18227A099A134818021C1002000000B248A202A40A20C0022A2C5088002A02560049583401807002011CB2B220001004D2000000000000000000002000000000000000000000005000000000000000000000",'data);
  44. book.hints[25] := TRUE;
  45. book.hints[26] := StuffHex("081D7AB02A1EEB623032988C5A08133D6013709F5A17FB7E7AFE3B3DE08860BE7000C15C7291091E78B9FA3D36AE183A7ABB2ADC7838321E6884593920B829EA40BF320561BEA7BE729A011D72FE0264E884218E7012031CF2BE24577205EA060008002010000000202400000000000000100000001300000000000000000000",'data);
  46. book.hints[27] := TRUE;
  47. book.hints[28] := TRUE;
  48. book.hints[29] := TRUE;
  49. book.hints[30] := TRUE;
  50. book.hints[31] := TRUE;
  51. book.hints[32] := TRUE;
  52. book.hints[33] := StuffHex("000060000218080800081000000010210000008420100300200000000000000000004004000000006010200000222000300000084804000040020000000011000200000000000000000800000010000A081000001000000460100000000000000000000000000000000000000000000000000000000000000000000000000000",'data);
  53. book.hints[34] := TRUE;
  54. book.hints[35] := TRUE;
  55. book.hints[36] := TRUE;
  56. book.hints[37] := TRUE;
  57. book.hints[38] := TRUE;
  58. book.hints[39] := TRUE;
  59. book.hints[40] := TRUE;
  60. book.hints[41] := StuffHex("000020200803022000121000008010106000020240443200700820009000000800000210100000023010D27A20000002681302104010200A1002000000A20806208008000008200410100000001000020200000010100114A23B0422202800040000000000000000202000000000000000000000000000000000000000000000",'data);
  61. book.hints[42] := TRUE;
  62. book.hints[43] := TRUE;
  63. book.hints[44] := TRUE;
  64. book.hints[45] := StuffHex("0801200002100202001010004000000040020012004C120030020000000000080000010400080000000060000004002268000000401000100012000000200880008100080002000810080000000000000000000000000104A0AA0804000002040000000000000000000000000000000000000000000000020000000000000000",'data);
  65. book.hints[46] := TRUE;
  66. book.hints[47] := TRUE;
  67. book.hints[48] := TRUE;
  68. book.hints[49] := TRUE;
  69. book.hints[50] := TRUE;
  70. book.hints[51] := TRUE;
  71. book.hints[52] := TRUE;
  72. book.hints[53] := TRUE;
  73. book.hints[54] := TRUE;
  74. book.hints[55] := TRUE;
  75. book.hints[56] := StuffHex("201020002000A10010101000100000206202201A005C2814D01018010000000600000020401000025810E00A200A301068030A1040103012F0C640202212008A008000010012042800900000624600015800008830120018B20A0000001062000000000000000000000000000000000002000000000000000000000000000000",'data);
  76. book.hints[57] := TRUE;
  77. book.hints[58] := TRUE;
  78. book.hints[59] := TRUE;
  79. book.hints[60] := TRUE;
  80. book.hints[61] := TRUE;
  81. book.hints[62] := StuffHex("000060000220A0A020101000408030002002021040041038181800000010020040002014000008046820E2180226102230100A08400202185042000000800980002100002002042000100000300200000200001850120100F2820000000000000000000000000000000000000000000000000000000000000000000000000000",'data);
  82. book.hints[63] := TRUE;
  83. book.hints[64] := StuffHex("000120000000A0000000100040000000400000020040110010000004000000000000010000002024000268000000100220002A11401000021002000000000000208000000400000000000000600000000010000000020114A0082004000000000000000000000000000400000000000000400000000000020000000000000000",'data);
  84. book.hints[65] := TRUE;
  85. book.hints[66] := StuffHex("000060000000A000000210004000010060020012004400000000000400000000000000000000010400086008020010203000AA104000201210120000101040A8000000000002000000000004000000080200000000020100B00A0002000000000000000000000000000400000000000000420000000000000000000000000000",'data);
  86. book.hints[67] := TRUE;
  87. book.hints[68] := StuffHex("0000A0000A10A02000101000400000304002200240400200300000060000400060020054000000043810E0000022200028202812481020260006000002000008400020020480002000180000401000421220000000000104B2682402000000040000000400000200002000000000000000000000000000200000000000000040",'data);
  88. book.hints[69] := TRUE;
  89. book.hints[70] := TRUE;
  90. book.hints[71] := TRUE;
  91. book.hints[72] := StuffHex("A00020002800A0280000100040200294420000120051380C882E800000000002000000084010290C400862800004100060002A10405020021046000800001000000520100000200400020103201608020004000020020104A0880000501000000000000000000000000000000000000000008000000000000000000000000000",'data);
  92. book.hints[73] := TRUE;
  93. book.hints[74] := TRUE;
  94. book.hints[75] := TRUE;
  95. book.hints[76] := StuffHex("000022000000A0200020100040001000400000220044000008080000000000000000000000000904400860001004100020102A10400000023002000000000000000002000082002000100088000000000000000000020100A0080014200010000000000000000000000000000000000000000000000004000000000000000000",'data);
  96. book.hints[77] := TRUE;
  97. book.hints[78] := TRUE;
  98. book.hints[79] := TRUE;
  99. book.hints[80] := TRUE;
  100. book.hints[81] := StuffHex("5000700000292128103012014200000460021002004E1418701000104000201200000134203008021008E00A22004020708A2A00401030111082000000960080208400030002042820900001220600084200000050100800B2061000600002002000000000000000000000200000100000000000200000000000000000000000",'data);
  101. book.hints[82] := TRUE;
  102. book.hints[83] := StuffHex("000020200218000000300000100000002000000010141000008200008000000020100001000000001000C210000804000002020000004040200020000080100000810080400000100020000000000000000000046010000482040000120008000000000000000000002000800000000000000000000000000000000000000000",'data);
  103. book.hints[84] := TRUE;
  104. book.hints[85] := StuffHex("1000A0244021202000301000400000006210201210543800100008838080000400001590423000006088B2102038002060101B1440102200200A0020009088024088000660B0000000000005C258002A0222008070100000220A14000203208C0000000000000000082000000000000000000000200000000000000000000000",'data);
  105. book.hints[86] := TRUE;
  106. book.hints[87] := StuffHex("283060200050A0200832100250080234201200104214B21C30083A088080201020020018821001023088BA1F2A2A080078BF0A014010201460021000008A088A4088100020CA2064001800004202001A381200814002001C328E0004200462000000000000000000002000000000020000000000000000000000000000000000",'data);
  107. book.hints[88] := TRUE;
  108. book.hints[89] := TRUE;
  109. book.hints[90] := TRUE;
  110. book.hints[91] := StuffHex("00006000200830283002008942000020000030120004180C100208240000001400000142221008140031801820220020100128110010000E0000002200800010620C0022040424602002010270400000422000804800001820862000480C02002000000000000800082000000000000200000000080000000000000000000000",'data);
  111. book.hints[92] := TRUE;
  112. book.hints[93] := StuffHex("1000600000032000402018004000000060002000000418081202080480800004000011101200010008180210220000203011021040000084600202200010000000800020040000202000000050400000020000004012001022002000000000080000000000000000082000000000000000000000000000000000000000000000",'data);
  113. book.hints[94] := TRUE;
  114. book.hints[95] := StuffHex("100060222841A060C8309800600012103231009142153B401A082808028200982012911A4218081668B8C238301E1800309B221050100B04302200002090290040AB0212401C3664021A0125321C0048A002228170120314B2860400220406000002000010000000202000004000000000000000200000000000000000000000",'data);
  115. book.hints[96] := TRUE;
  116. book.hints[97] := StuffHex("0813623A2E08A1001012180102C000281088328040443020300030248000001E000081910210090C4039AA582002200078100A004000120B400A100000A00A8C00A01003068020040088008062548048A82820007202080430A03400400450002000000000000000002000000000000000000000000080000000000000000000",'data);
  117. book.hints[98] := TRUE;
  118. book.hints[99] := TRUE;
  119. book.hints[100] := TRUE;
  120. book.hints[101] := StuffHex("300070022840002000201000400000102230001100302B0010080000800000000000000A6000000240B09818200A00003001221042000040200280000012808040800006001880642000000520000040A00220097000001C60860400300400000000000000000000002000000000000000000000200000000000000000000000",'data);
  121. book.hints[102] := TRUE;
  122. book.hints[103] := StuffHex("1A0070200A40002000201000500012186230001210551B1410882084800000000008000B601000020098DA1A200A10007810220040000249200200020092898040810002449AA06412AA0005400000602202008D70020104F2862422320408040000000000000000202000000000000000000000200000000000000000000000",'data);
  123. book.hints[104] := TRUE;
  124. book.hints[105] := TRUE;
  125. book.hints[106] := StuffHex("0000600400200000002038004000000068002002004411143000088000002010000080D8000000046218C2022010082070130010401000102002000800802890400000000092042000100015000200202020010050100018A2001000000000800000000000000000000000000000000000000000200000000000000000000000",'data);
  126. book.hints[107] := TRUE;
  127. book.hints[108] := TRUE;
  128. book.hints[109] := StuffHex("00027220254309A000281044400000A6F028B202007632B010000028A00020066010110230100900420CA01C2008002030112A184A503088280A00000090800C00900001023880200010008000560000000A00185092001860063802600000000000000000000000002000000000000000000000000000000000000000000000",'data);
  129. book.hints[110] := TRUE;
  130. book.hints[111] := StuffHex("2000202200422000400010000000100008200000001862041000000880200000001040120002010000380018200000003000020040010000000200000000000000800000008800201010000802100040800020001002010422000002201102040010000000000000202000000000000000000000000000000000000000000000",'data);
  131. book.hints[112] := TRUE;
  132. book.hints[113] := StuffHex("2000202200020000000010000000000008000000001800040000200880200000000040100012010000380018000000002000020040010000000200000000000000800000008020240008000802000040800020001002000022000000001102040010000000000000002000000000000000000000000000000000000000000000",'data);
  133. book.hints[114] := TRUE;
  134. book.hints[115] := StuffHex("2004E02220130030003010085004000008020010021C1184508420008080000000005110021200020020901824020020708B1A0040000012200A00000082000200800000008220240018000122024048A01020004010000022982040408522040000000000000000082000000800000000000000200000000000000000000000",'data);
  135. book.hints[116] := TRUE;
  136. book.hints[117] := TRUE;
  137. book.hints[118] := TRUE;
  138. book.hints[119] := TRUE;
  139. book.hints[120] := TRUE;
  140. book.hints[121] := TRUE;
  141. book.hints[122] := StuffHex("500270000008B120002019085000001032000010040C8914188A00000000200002058010400029007208501120803C003801180140000010201200002090002020822900200000280278020820020008001400806002001EA28C0A00000400280000000000000000000000000000000000000000000000000000000000000000",'data);
  142. book.hints[123] := TRUE;
  143. book.hints[124] := StuffHex("000044002002802000160100004010005200009220440200180810000000000000000400100008007088401220803008180A0A10000000101000000000800100000021000058000000000000020200000000608040020110A0002000200000000000000000000000000000000000000000000000001000000000000000000000",'data);
  144. book.hints[125] := TRUE;
  145. book.hints[126] := StuffHex("108040002002806008341200200010005200001200400200180810000000000000000000100008007008401220901000180A8A18000000101000000000800100000021000008020020000000020800002000000040020114A2000000200000000000000000000000000000000000000000000000000000000000000000000000",'data);
  146. book.hints[127] := TRUE;
  147. book.hints[128] := TRUE;
  148. book.hints[129] := TRUE;
  149. book.hints[130] := TRUE;
  150. book.hints[131] := TRUE;
  151. book.hints[132] := TRUE;
  152. book.hints[133] := TRUE;
  153. book.hints[134] := TRUE;
  154. book.hints[135] := TRUE;
  155. book.hints[136] := TRUE;
  156. book.hints[137] := TRUE;
  157. book.hints[138] := TRUE;
  158. book.hints[139] := TRUE;
  159. book.hints[140] := TRUE;
  160. book.hints[141] := TRUE;
  161. book.hints[142] := TRUE;
  162. book.hints[143] := TRUE;
  163. book.hints[144] := TRUE;
  164. book.hints[145] := TRUE;
  165. book.hints[146] := TRUE;
  166. book.hints[147] := TRUE;
  167. book.hints[148] := TRUE;
  168. book.hints[149] := TRUE;
  169. book.hints[150] := TRUE;
  170. book.hints[151] := TRUE;
  171. book.hints[152] := TRUE;
  172. book.hints[153] := TRUE;
  173. book.hints[154] := TRUE;
  174. book.hints[155] := TRUE;
  175. book.hints[156] := TRUE;
  176. book.hints[157] := TRUE;
  177. book.hints[158] := TRUE;
  178. book.hints[159] := TRUE;
  179. book.hints[160] := TRUE;
  180. book.hints[161] := TRUE;
  181. book.hints[162] := TRUE;
  182. book.hints[163] := TRUE;
  183. book.hints[164] := TRUE;
  184. book.hints[165] := TRUE;
  185. book.hints[166] := TRUE;
  186. book.hints[167] := TRUE;
  187. book.hints[168] := TRUE;
  188. book.hints[169] := TRUE;
  189. book.hints[170] := TRUE;
  190. book.hints[171] := TRUE;
  191. book.hints[172] := TRUE;
  192. book.hints[173] := TRUE;
  193. book.hints[174] := TRUE;
  194. book.hints[175] := TRUE;
  195. book.hints[176] := TRUE;
  196. book.hints[177] := TRUE;
  197. book.hints[178] := TRUE;
  198. book.hints[179] := TRUE;
  199. book.hints[180] := TRUE;
  200. book.hints[181] := TRUE;
  201. book.hints[182] := TRUE;
  202. book.hints[183] := StuffHex("000022000041208000221000400000048000001000001020000008880000001000001000000000040000A200200400002011000040002000400200002080080000010000000000200010011020000000000000006010001020840000000000000000000010000000000000000000000000000000000000000000000000000000",'data);
  203. book.hints[184] := TRUE;
  204. book.hints[185] := TRUE;
  205. book.hints[186] := TRUE;
  206. book.hints[187] := TRUE;
  207. book.hints[188] := TRUE;
  208. book.hints[189] := TRUE;
  209. book.hints[190] := TRUE;
  210. book.hints[191] := TRUE;
  211. book.hints[192] := TRUE;
  212. book.hints[193] := TRUE;
  213. book.hints[194] := TRUE;
  214. book.hints[195] := TRUE;
  215. book.hints[196] := StuffHex("20017A28008AA8005230380952201010601228361A549254300872888000200800008150E01220266098FA3C308E0A0270B13A02589801643802004840BA099300812A00208A20240018009C221200E8402020047014011572B60016720518202000000000000000002400000000002000400000000004020000000000000000",'data);
  216. book.hints[199] := StuffHex("3286662A397822B250323084500211247000321A5A5AB92C581238CD8020001A6000019070100A0C72B9F23E228A251078AD2A5200D130AE200C30322012281360A7608794B2E6341008009C021F0238321C201530100114A2D61CAE429528060000000400000002082000010800000020000000000080000000000000000000",'data);
  217. book.hints[200] := TRUE;
  218. book.hints[201] := StuffHex("0008200000000020400210054200120080002800021702201808200080000000200040400018080040080018308E0000209002004000000C00920020000001000000000000922124002A000120040040008000000000010400860011200418202000000000000000002000000000000000000000000000000000000000000000",'data);
  219. book.hints[203] := StuffHex("101870200029A0200032300D22001020B000202002060360180830008000621020005010201008144000801C201A0C0050812A004862200000984000800000A0008200004011202C008800002000001A402004824210015470821004000442242000000000000000002000000000000000010000000000000000000000000000",'data);
  220. book.hints[205] := TRUE;
  221. book.hints[206] := TRUE;
  222. book.hints[207] := TRUE;
  223. book.hints[208] := StuffHex("0008202000009108001000011800000000000000001C00000000000000004002000000804000010818388000000200200080280000101040000000002010000840800001401020ED0000001000040020002000023002000060000000100000000000002000000000000000000000000000000000000000000000000000000000",'data);
  224. book.hints[209] := TRUE;
  225. book.hints[210] := StuffHex("00084220001180020000000000000000A20000100200202C12001085800000020000100080000000300880102202080010800A1000041000000000002000A00040800001068000100000000550460020000000064010080040002000000000000000000000000000002000000000000000000000200000000000000000000000",'data);
  226. book.hints[211] := TRUE;
  227. book.hints[212] := StuffHex("3020E0204830A02010203200700010107000A24704543804900020AC00000010000001CA00A80806503AF01D34120C2072011A002011404060C000580890001020B0000264D02266601A03056206003840A260207010011432A23600121B22060000000000000000002000000000000000000200000200000000000000000000",'data);
  228. book.hints[213] := TRUE;
  229. book.hints[214] := TRUE;
  230. book.hints[215] := StuffHex("100000200000A00000000000000000040000200000040808F000000400000000000200400000000400002000201000000000081000002206004000000000000000880000040001200000000460000000000000000000000020042000000002020000000000000000000000000000000000000000000000000000000000000000",'data);
  231. book.hints[216] := TRUE;
  232. book.hints[217] := StuffHex("103120000010A24010220209622000204200201040041024D0081800000000062010011800100300502868082A06220000000800021832001050002020900080000300214810024430B00000605400180200200000020014B2820004401440002000000000000000000000000000000000000000000000000000000000000000",'data);
  233. book.hints[218] := TRUE;
  234. book.hints[219] := StuffHex("500060000002B00000221B0040080000020000103410A304400000000010000E220180001202010430285209082400002820081940001002000200002000000000010825089800443200020000560010000000000002001230860200600000000000000000000000000000000000000000000000000000000000000000000000",'data);
  235. book.hints[220] := TRUE;
  236. book.hints[221] := TRUE;
  237. book.hints[222] := TRUE;
  238. book.hints[223] := TRUE;
  239. book.hints[224] := TRUE;
  240. book.hints[225] := TRUE;
  241. book.hints[226] := TRUE;
  242. book.hints[227] := TRUE;
  243. book.hints[228] := TRUE;
  244. book.hints[229] := StuffHex("0001600022209100503102005000000060800000142C98043020800C00004000000000040008080858009200222000007011280060080086000000000090120E400000020C8000442002030040008058020000046000001072003610200200080000000000000000000400000000000000000000000000000000000000000000",'data);
  245. book.hints[230] := TRUE;
  246. book.hints[231] := TRUE;
  247. book.hints[232] := TRUE;
  248. book.hints[233] := TRUE;
  249. book.hints[234] := TRUE;
  250. book.hints[235] := StuffHex("0200C0200A108020000020A04000001040080000002222003004000808000000000000140000000060001000201008001000000000100040000040100000090000800000000000200008001000020002402000004000000422201000001000020000000000008000000000000000000000000000000000000000000000000000",'data);
  251. book.hints[236] := TRUE;
  252. book.hints[237] := TRUE;
  253. book.hints[238] := TRUE;
  254. book.hints[239] := TRUE;
  255. book.hints[240] := TRUE;
  256. book.hints[241] := TRUE;
  257. book.hints[242] := TRUE;
  258. book.hints[243] := TRUE;
  259. book.hints[244] := TRUE;
  260. book.hints[245] := TRUE;
  261. book.hints[246] := TRUE;
  262. book.hints[247] := TRUE;
  263. book.hints[248] := TRUE;
  264. book.hints[249] := TRUE;
  265. book.hints[250] := TRUE;
  266. book.hints[251] := StuffHex("200060000022B080000230004080000452000212427418045000200800A00000000000180030000460389842208A082250012A100011008A000010000090080000A0000040812204000A010102020008000200807080001432803000001400000010000000000000000400000000000000000000200000000000000000000000",'data);
  267. book.hints[252] := TRUE;
  268. book.hints[253] := TRUE;
  269. book.hints[254] := TRUE;
  270. book.hints[255] := TRUE;
  271.  
  272. // Text Styles
  273. s0 := {
  274.     family: 'Geneva,
  275.     face: 0,
  276.     size: 9};
  277. AddArraySlot(book.styles, s0);
  278.  
  279. s1 := {
  280.     family: 'espy /* MISSING */,
  281.     face: 0,
  282.     size: 10};
  283. AddArraySlot(book.styles, s1);
  284.  
  285. s2 := {
  286.     family: 'NewYork,
  287.     face: 0,
  288.     size: 10};
  289. AddArraySlot(book.styles, s2);
  290.  
  291. s3 := {
  292.     family: 'NewYork,
  293.     face: 1,
  294.     size: 18};
  295. AddArraySlot(book.styles, s3);
  296.  
  297. s4 := {
  298.     family: 'NewYork,
  299.     face: 0,
  300.     size: 18};
  301. AddArraySlot(book.styles, s4);
  302.  
  303. s5 := {
  304.     family: 'Geneva,
  305.     face: 0,
  306.     size: 10};
  307. AddArraySlot(book.styles, s5);
  308.  
  309. s6 := {
  310.     family: 'Geneva,
  311.     face: 0,
  312.     size: 18};
  313. AddArraySlot(book.styles, s6);
  314.  
  315. s7 := {
  316.     family: 'Geneva,
  317.     face: 1,
  318.     size: 18};
  319. AddArraySlot(book.styles, s7);
  320.  
  321. s8 := {
  322.     family: 'Geneva,
  323.     face: 5,
  324.     size: 18};
  325. AddArraySlot(book.styles, s8);
  326.  
  327. s9 := {
  328.     family: 'Geneva,
  329.     face: 0,
  330.     size: 9};
  331. AddArraySlot(book.styles, s9);
  332.  
  333. s10 := {
  334.     family: 'Geneva,
  335.     face: 1,
  336.     size: 10};
  337. AddArraySlot(book.styles, s10);
  338.  
  339. s11 := {
  340.     family: 'NewYork,
  341.     face: 1,
  342.     size: 10};
  343. AddArraySlot(book.styles, s11);
  344.  
  345. s12 := {
  346.     family: 'Geneva,
  347.     face: 4,
  348.     size: 18};
  349. AddArraySlot(book.styles, s12);
  350.  
  351. s13 := {
  352.     family: 'Geneva,
  353.     face: 1,
  354.     size: 14};
  355. AddArraySlot(book.styles, s13);
  356.  
  357. s14 := {
  358.     family: 'Geneva,
  359.     face: 2,
  360.     size: 10};
  361. AddArraySlot(book.styles, s14);
  362.  
  363. s15 := {
  364.     family: 'Geneva,
  365.     face: 1,
  366.     size: 9};
  367. AddArraySlot(book.styles, s15);
  368.  
  369. s16 := {
  370.     family: 'NewYork,
  371.     face: 2,
  372.     size: 10};
  373. AddArraySlot(book.styles, s16);
  374.  
  375. s17 := {
  376.     family: 'Geneva,
  377.     face: 2,
  378.     size: 9};
  379. AddArraySlot(book.styles, s17);
  380.  
  381. s18 := {
  382.     family: 'NewYork,
  383.     face: 0,
  384.     size: 9};
  385. AddArraySlot(book.styles, s18);
  386.  
  387. s19 := {
  388.     family: 'NewYork,
  389.     face: 5,
  390.     size: 10};
  391. AddArraySlot(book.styles, s19);
  392.  
  393.  
  394. // Contents
  395. c1 := {
  396.     data: "Title Page",
  397.     layout: 2048
  398. };
  399. book.contents[0] := c1;
  400.  
  401. c2 := {
  402.     data: "
  403.  
  404. ",
  405.     viewFont: s2,
  406.     layout: 32
  407. };
  408. book.contents[1] := c2;
  409.  
  410. c3 := {
  411.     data: "
  412. Newton Book Maker
  413. (Dickens)
  414.  
  415. User's Manual
  416. &
  417. Command Reference
  418.  
  419. (Newton Book sample by Bob Ebert)
  420. ",
  421.     styles: [19, s3, 10, s2, 36, s4, 34, s5, 1, s6],
  422.     layout: 4,
  423.     look: 3858
  424. };
  425. book.contents[2] := c3;
  426.  
  427. c4 := {
  428.     data: "Contents",
  429.     styles: [8, s7, 1, s8],
  430.     layout: 39,
  431.     look: 1024
  432. };
  433. book.contents[3] := c4;
  434.  
  435. c5 := {
  436.     data: "Overview",
  437.     viewFont: s5,
  438.     scripts: ['buttonClickScript, func ()
  439. begin
  440.     if (curRendering = 0) then :TurnToPage(destPage);
  441.     else :TurnToPage(:FindPageByContent(kioskDest, 0, NIL))
  442. end]
  443. };
  444. book.contents[4] := c5;
  445.  
  446. c6 := {
  447.     data: "Layout Issues",
  448.     viewFont: s5,
  449.     scripts: ['buttonClickScript, func ()
  450. begin
  451.     if (curRendering = 0) then :TurnToPage(destPage);
  452.     else :TurnToPage(:FindPageByContent(kioskDest, 0, NIL))
  453. end]
  454. };
  455. book.contents[5] := c6;
  456.  
  457. c7 := {
  458.     data: "Command Syntax",
  459.     viewFont: s5,
  460.     scripts: ['buttonClickScript, func ()
  461. begin
  462.     if (curRendering = 0) then :TurnToPage(destPage);
  463.     else :TurnToPage(:FindPageByContent(kioskDest, 0, NIL))
  464. end]
  465. };
  466. book.contents[6] := c7;
  467.  
  468. c8 := {
  469.     data: "Style",
  470.     viewFont: s5,
  471.     scripts: ['buttonClickScript, func ()
  472. begin
  473.     if (curRendering = 0) then :TurnToPage(destPage);
  474.     else :TurnToPage(:FindPageByContent(kioskDest, 0, NIL))
  475. end]
  476. };
  477. book.contents[7] := c8;
  478.  
  479. c9 := {
  480.     data: "Command Categories",
  481.     viewFont: s5,
  482.     scripts: ['buttonClickScript, func ()
  483. begin
  484.     if (curRendering = 0) then :TurnToPage(destPage);
  485.     else :TurnToPage(:FindPageByContent(kioskDest, 0, NIL))
  486. end]
  487. };
  488. book.contents[8] := c9;
  489.  
  490. c10 := {
  491.     data: "    Document Commands",
  492.     viewFont: s9,
  493.     scripts: ['buttonClickScript, func ()
  494. begin
  495.     if (curRendering = 0) then :TurnToPage(destPage);
  496.     else :TurnToPage(:FindPageByContent(kioskDest, 0, NIL))
  497. end]
  498. };
  499. book.contents[9] := c10;
  500.  
  501. c11 := {
  502.     data: "    Content Commands",
  503.     viewFont: s9,
  504.     scripts: ['buttonClickScript, func ()
  505. begin
  506.     if (curRendering = 0) then :TurnToPage(destPage);
  507.     else :TurnToPage(:FindPageByContent(kioskDest, 0, NIL))
  508. end]
  509. };
  510. book.contents[10] := c11;
  511.  
  512. c12 := {
  513.     data: "    Browser Commands",
  514.     viewFont: s9,
  515.     scripts: ['buttonClickScript, func ()
  516. begin
  517.     if (curRendering = 0) then :TurnToPage(destPage);
  518.     else :TurnToPage(:FindPageByContent(kioskDest, 0, NIL))
  519. end]
  520. };
  521. book.contents[11] := c12;
  522.  
  523. c13 := {
  524.     data: "    Page Layout Commands",
  525.     viewFont: s9,
  526.     scripts: ['buttonClickScript, func ()
  527. begin
  528.     if (curRendering = 0) then :TurnToPage(destPage);
  529.     else :TurnToPage(:FindPageByContent(kioskDest, 0, NIL))
  530. end]
  531. };
  532. book.contents[12] := c13;
  533.  
  534. c14 := {
  535.     data: "    Other Commands",
  536.     viewFont: s9,
  537.     scripts: ['buttonClickScript, func ()
  538. begin
  539.     if (curRendering = 0) then :TurnToPage(destPage);
  540.     else :TurnToPage(:FindPageByContent(kioskDest, 0, NIL))
  541. end]
  542. };
  543. book.contents[13] := c14;
  544.  
  545. c15 := {
  546.     data: "Flags
  547.     Document Flags
  548.     Content Flags",
  549.     styles: [6, s5, 31, s9],
  550.     scripts: ['buttonClickScript, func ()
  551. begin
  552.     if (curRendering = 0) then :TurnToPage(destPage);
  553.     else :TurnToPage(:FindPageByContent(kioskDest, 0, NIL))
  554. end]
  555. };
  556. book.contents[14] := c15;
  557.  
  558. c16 := {
  559.     data: "Examples",
  560.     viewFont: s5,
  561.     scripts: ['buttonClickScript, func ()
  562. begin
  563.     if (curRendering = 0) then :TurnToPage(destPage);
  564.     else :TurnToPage(:FindPageByContent(kioskDest, 0, NIL))
  565. end]
  566. };
  567. book.contents[15] := c16;
  568.  
  569. c17 := {
  570.     data: "    Example One",
  571.     viewFont: s9,
  572.     scripts: ['buttonClickScript, func ()
  573. begin
  574.     if (curRendering = 0) then :TurnToPage(destPage);
  575.     else :TurnToPage(:FindPageByContent(kioskDest, 0, NIL))
  576. end]
  577. };
  578. book.contents[16] := c17;
  579.  
  580. c18 := {
  581.     data: "    Example Two",
  582.     viewFont: s9,
  583.     scripts: ['buttonClickScript, func ()
  584. begin
  585.     if (curRendering = 0) then :TurnToPage(destPage);
  586.     else :TurnToPage(:FindPageByContent(kioskDest, 0, NIL))
  587. end]
  588. };
  589. book.contents[17] := c18;
  590.  
  591. c19 := {
  592.     data: "Dickens Script Writers Guide",
  593.     viewFont: s5,
  594.     scripts: ['buttonClickScript, func ()
  595. begin
  596.     if (curRendering = 0) then :TurnToPage(destPage);
  597.     else :TurnToPage(:FindPageByContent(kioskDest, 0, NIL))
  598. end]
  599. };
  600. book.contents[18] := c19;
  601.  
  602. c20 := {
  603.     data: "    Scripts Caution",
  604.     viewFont: s9,
  605.     scripts: ['buttonClickScript, func ()
  606. begin
  607.     if (curRendering = 0) then :TurnToPage(destPage);
  608.     else :TurnToPage(:FindPageByContent(kioskDest, 0, NIL))
  609. end]
  610. };
  611. book.contents[19] := c20;
  612.  
  613. c21 := {
  614.     data: "    Reserved Slot Names",
  615.     viewFont: s9,
  616.     scripts: ['buttonClickScript, func ()
  617. begin
  618.     if (curRendering = 0) then :TurnToPage(destPage);
  619.     else :TurnToPage(:FindPageByContent(kioskDest, 0, NIL))
  620. end]
  621. };
  622. book.contents[20] := c21;
  623.  
  624. c22 := {
  625.     data: "    Dynamic List Browsers",
  626.     viewFont: s9,
  627.     scripts: ['buttonClickScript, func ()
  628. begin
  629.     if (curRendering = 0) then :TurnToPage(destPage);
  630.     else :TurnToPage(:FindPageByContent(kioskDest, 0, NIL))
  631. end]
  632. };
  633. book.contents[21] := c22;
  634.  
  635. c23 := {
  636.     data: "Useful Functions",
  637.     viewFont: s5,
  638.     scripts: ['buttonClickScript, func ()
  639. begin
  640.     if (curRendering = 0) then :TurnToPage(destPage);
  641.     else :TurnToPage(:FindPageByContent(kioskDest, 0, NIL))
  642. end]
  643. };
  644. book.contents[22] := c23;
  645.  
  646. c24 := {
  647.     data: "Overview",
  648.     viewFont: s8,
  649.     layout: 32, 
  650.     name: "overview"
  651. };
  652. book.contents[23] := c24;
  653.  
  654. c25 := {
  655.     data: "The Dickens tool creates digital books that can be read using the Newton Book Reader  built into the Newton ROM. Dickens uses the XTND translator system to take a word processor document with text and pictures and view system templates (which Dickens refers to as \u201c" & "forms\u201d" & ") and lays it out sequentially on pages. Although Dickens uses the fonts from the source, it makes its own decisions about flowing text and placing information to commands you mark up the text with. These commands (referred to as dot comma"&"nds because of the \".\" that proceeds them) describe the document itself, each of the chapters or sections of the document, as well as individual stories and page layouts. The document is then opened with Dickens, which will create a book file which NTK compiles (along with any templates it may use) into a Newton book. This book can be then reviewed with Newton, and changes made by going back to the original marked-up document and reprocessing with Dickens and NTK. 
  656. ",
  657.     viewFont: s2,
  658.     layout: 8192
  659. };
  660. book.contents[24] := c25;
  661.  
  662. c26 := {
  663.     data: "Layout Issues",
  664.     viewFont: s8, 
  665.     name: "layout"
  666. };
  667. book.contents[25] := c26;
  668.  
  669. c27 := {
  670.     data: "On future machines, pages may automatically reformat to take advantage of a larger screen size. Thus, if a title ends up on the bottom of a page, and the related story on the next page, you’re better off using the KeepWith flag on the story, rather than StartsPage flag on the title (flags are explained below). Both may give the same appearance on the smaller screens, but the latter may cause an unnecessary pagination on future Newtons. This emphasis is important in scripting as well. You should never hard"&"-code page numbers, since layout might be different on a larger screen. Instead, use Content-related methods.
  671.  
  672. It’s helpful to set your word processor margins to 3.33 inches. This simulates the appearance on the Newton screen. Also don’t be concerned with screen margins. Although Dickens places text across the entire screen, on a Newton, there is \u201c" & "dead space\u201d" & " on all sides.
  673.  
  674. Top of page titles are always 16 pixels high. If you use this entire height or exceed it, the title will run into the page contents w"&"hich if done correctly, can be an attractive effect.
  675.  
  676. Do not hyphenate manually (by typing \u201c" & "- \u201d" & " where you want a line break). This may give the correct visual appearance on the MessagePad, but not on machines with larger screens. And it will prevent the user from searching for the word you hyphenated.
  677.  
  678. Try to use tabs, rather than spaces, to align columns. (However, the Newton doesn’t support right-aligned tabs.) You’ll save space in your book if you set as few tab stops as possible (or set them only in t"&"hose stories that need them). Note that any story can only have one tab ruler – the first paragraph’s being the one that gets used.
  679.  
  680. The Newton MessagePad has only New York and Geneva fonts (and only 9, 10, 12, 14, 18, 24, 48, etc.) If you want your book to lay out correctly, you’ll have to either use these fonts, or include your own with your book’s package. (The Newton also has a system font, but you should not use this because it is best for system elements like buttons and menus and does not print wel"&"l.)
  681.  
  682. Special styles such as \u201c" & "small caps\u201d" & " or \u201c" & "all caps\u201d" & " that some word processor programs offer are not supported. However characters such as curly quotes and em dash are supported.
  683.  
  684. The process of authoring a book is iterative. It’s hard to guess exactly where pages will fall. You’ll want to mark up your document, process it through Dickens, then proof it on a Newton.
  685.  
  686. Remember that text is treated the same for purposes of layout, regardless of it being tagged as a title or subject, or as a story.
  687. ",
  688.     styles: [214, s2, 8, s10, 32, s2, 10, s10, 2280, s2],
  689.     layout: 8192
  690. };
  691. book.contents[26] := c27;
  692.  
  693. c28 := {
  694.     data: "Command Syntax",
  695.     viewFont: s8,
  696.     layout: 3, 
  697.     name: "syntax"
  698. };
  699. book.contents[27] := c28;
  700.  
  701. c29 := {
  702.     data: "•",
  703.     viewFont: s2,
  704.     layout: 8193
  705. };
  706. book.contents[28] := c29;
  707.  
  708. c30 := {
  709.     data: "Any line beginning with a period \u201c" & ".\u201d" & " is treated as a Dickens command. ",
  710.     styles: [34, s2, 1, s11, 36, s2],
  711.     layout: 8192
  712. };
  713. book.contents[29] := c30;
  714.  
  715. c31 := {
  716.     data: "•",
  717.     viewFont: s2,
  718.     layout: 1
  719. };
  720. book.contents[30] := c31;
  721.  
  722. c32 := {
  723.     data: "Comments can be added to a command line by preceding the comment with #. ",
  724.     styles: [70, s2, 1, s11, 3, s2],
  725.     layout: 8192
  726. };
  727. book.contents[31] := c32;
  728.  
  729. c33 := {
  730.     data: "•",
  731.     viewFont: s2,
  732.     layout: 1
  733. };
  734. book.contents[32] := c33;
  735.  
  736. c34 := {
  737.     data: "The backslash character  \u201c" & "\\\u201d" & " is the escape character:  if it is the first character on a line, it will be ignored, and the rest of the line taken as is. If it is the last character on a command line, the command will be continued to the next line. ",
  738.     styles: [26, s2, 1, s11, 223, s2],
  739.     layout: 8192
  740. };
  741. book.contents[33] := c34;
  742.  
  743. c35 := {
  744.     data: "•",
  745.     viewFont: s2,
  746.     layout: 1
  747. };
  748. book.contents[34] := c35;
  749.  
  750. c36 := {
  751.     data: "Commands and keywords are not case-sensitive. ",
  752.     viewFont: s2,
  753.     layout: 8192
  754. };
  755. book.contents[35] := c36;
  756.  
  757. c37 := {
  758.     data: "•",
  759.     viewFont: s2,
  760.     layout: 1
  761. };
  762. book.contents[36] := c37;
  763.  
  764. c38 := {
  765.     data: "Parameters shown in square brackets \u201c" & "[]\u201d" & " are optional. ",
  766.     styles: [35, s2, 1, s11, 1, s2, 2, s11, 17, s2],
  767.     layout: 8192
  768. };
  769. book.contents[37] := c38;
  770.  
  771. c39 := {
  772.     data: "•",
  773.     viewFont: s2,
  774.     layout: 1
  775. };
  776. book.contents[38] := c39;
  777.  
  778. c40 := {
  779.     data: "Names containing spaces (e.g. \"Futura Heavy\") must be enclosed in quote marks.
  780. ",
  781.     viewFont: s2,
  782.     layout: 8192
  783. };
  784. book.contents[39] := c40;
  785.  
  786. c41 := {
  787.     data: "Style",
  788.     styles: [5, s8, 1, s12], 
  789.     name: "style"
  790. };
  791. book.contents[40] := c41;
  792.  
  793. c42 := {
  794.     data: "Document commands will generally be at the beginning, followed by any definitions of page layouts or styles. The bulk of the document is the original text, interspersed with commands that indicate the document’s structure. Note that not all commands are required; this is especially true for document commands. 
  795. ",
  796.     styles: [312, s2, 1, s1],
  797.     layout: 8192
  798. };
  799. book.contents[41] := c42;
  800.  
  801. c43 := {
  802.     data: "Command Categories",
  803.     viewFont: s8,
  804.     layout: 3, 
  805.     name: "commands"
  806. };
  807. book.contents[42] := c43;
  808.  
  809. c44 := {
  810.     data: "There are five different categories of commands:",
  811.     viewFont: s2,
  812.     layout: 8195
  813. };
  814. book.contents[43] := c44;
  815.  
  816. c45 := {
  817.     data: "•",
  818.     viewFont: s2,
  819.     layout: 8193,
  820.     scripts: ['buttonClickScript, func ()
  821. begin
  822.     if (curRendering = 0) then :TurnToPage(destPage);
  823.     else :TurnToPage(:FindPageByContent(kioskDest, 0, NIL))
  824. end]
  825. };
  826. book.contents[44] := c45;
  827.  
  828. c46 := {
  829.     data: "Document commands - define the overall characteristics of the document, such as author, copyright information, assist functions, etc.",
  830.     styles: [8, s11, 126, s2],
  831.     layout: 8192,
  832.     scripts: ['buttonClickScript, func ()
  833. begin
  834.     if (curRendering = 0) then :TurnToPage(destPage);
  835.     else :TurnToPage(:FindPageByContent(kioskDest, 0, NIL))
  836. end]
  837. };
  838. book.contents[45] := c46;
  839.  
  840. c47 := {
  841.     data: "•",
  842.     viewFont: s2,
  843.     layout: 1,
  844.     scripts: ['buttonClickScript, func ()
  845. begin
  846.     if (curRendering = 0) then :TurnToPage(destPage);
  847.     else :TurnToPage(:FindPageByContent(kioskDest, 0, NIL))
  848. end]
  849. };
  850. book.contents[46] := c47;
  851.  
  852. c48 := {
  853.     data: "Content commands - define the various kinds (text, graphics, form, kiosk,etc.) of elements that the document contains.",
  854.     styles: [7, s11, 112, s2],
  855.     layout: 8192,
  856.     scripts: ['buttonClickScript, func ()
  857. begin
  858.     if (curRendering = 0) then :TurnToPage(destPage);
  859.     else :TurnToPage(:FindPageByContent(kioskDest, 0, NIL))
  860. end]
  861. };
  862. book.contents[47] := c48;
  863.  
  864. c49 := {
  865.     data: "•",
  866.     viewFont: s2,
  867.     layout: 1,
  868.     scripts: ['buttonClickScript, func ()
  869. begin
  870.     if (curRendering = 0) then :TurnToPage(destPage);
  871.     else :TurnToPage(:FindPageByContent(kioskDest, 0, NIL))
  872. end]
  873. };
  874. book.contents[48] := c49;
  875.  
  876. c50 := {
  877.     data: "Browser commands - defines a new browser pane.",
  878.     styles: [7, s11, 40, s2],
  879.     layout: 8192,
  880.     scripts: ['buttonClickScript, func ()
  881. begin
  882.     if (curRendering = 0) then :TurnToPage(destPage);
  883.     else :TurnToPage(:FindPageByContent(kioskDest, 0, NIL))
  884. end]
  885. };
  886. book.contents[49] := c50;
  887.  
  888. c51 := {
  889.     data: "•",
  890.     viewFont: s2,
  891.     layout: 1,
  892.     scripts: ['buttonClickScript, func ()
  893. begin
  894.     if (curRendering = 0) then :TurnToPage(destPage);
  895.     else :TurnToPage(:FindPageByContent(kioskDest, 0, NIL))
  896. end]
  897. };
  898. book.contents[50] := c51;
  899.  
  900. c52 := {
  901.     data: "Page Layout commands - defines the general layout characteristics (number of columns, sidebar) for the document.",
  902.     styles: [11, s11, 102, s2],
  903.     layout: 8192,
  904.     scripts: ['buttonClickScript, func ()
  905. begin
  906.     if (curRendering = 0) then :TurnToPage(destPage);
  907.     else :TurnToPage(:FindPageByContent(kioskDest, 0, NIL))
  908. end]
  909. };
  910. book.contents[51] := c52;
  911.  
  912. c53 := {
  913.     data: "•",
  914.     viewFont: s2,
  915.     layout: 1,
  916.     scripts: ['buttonClickScript, func ()
  917. begin
  918.     if (curRendering = 0) then :TurnToPage(destPage);
  919.     else :TurnToPage(:FindPageByContent(kioskDest, 0, NIL))
  920. end]
  921. };
  922. book.contents[52] := c53;
  923.  
  924. c54 := {
  925.     data: "Other commands - commands that make using Dickens easier.
  926. ",
  927.     styles: [5, s11, 54, s2],
  928.     layout: 8192,
  929.     scripts: ['buttonClickScript, func ()
  930. begin
  931.     if (curRendering = 0) then :TurnToPage(destPage);
  932.     else :TurnToPage(:FindPageByContent(kioskDest, 0, NIL))
  933. end]
  934. };
  935. book.contents[53] := c54;
  936.  
  937. c55 := {
  938.     data: "Document Commands",
  939.     viewFont: s13,
  940.     layout: 3, 
  941.     name: "document_commands"
  942. };
  943. book.contents[54] := c55;
  944.  
  945. c56 := {
  946.     data: " .assist",
  947.     styles: [1, s2, 8, s10],
  948.     layout: 8195
  949. };
  950. book.contents[55] := c56;
  951.  
  952. c57 := {
  953.     data: "Define a template to used with the Newton’s Intelligent Assistant. All lines until the .endassist are taken as NewtonScript defining the task template or more commonly a reference to a task template defined in project data. The task templates are installed automatically by the book reader when a book is loaded on the Newton and removed when the book is removed. This command is repeated for each task template. (optional)
  954.  
  955.     .assist
  956.     myTaskTemplate
  957.     .endassist
  958. ",
  959.     styles: [87, s2, 10, s10, 328, s2, 37, s9, 1, s2],
  960.     layout: 8192
  961. };
  962. book.contents[56] := c57;
  963.  
  964. c58 := {
  965.     data: " .endassist",
  966.     styles: [1, s2, 10, s10, 1, s2],
  967.     layout: 3
  968. };
  969. book.contents[57] := c58;
  970.  
  971. c59 := {
  972.     data: "Terminates a block of NewtonScript defining a IA task template (begun with .assist).
  973. ",
  974.     styles: [75, s2, 7, s10, 4, s2],
  975.     layout: 8192
  976. };
  977. book.contents[58] := c59;
  978.  
  979. c60 := {
  980.     data: " .author author",
  981.     styles: [8, s10, 1, s5, 6, s14, 1, s2],
  982.     layout: 3
  983. };
  984. book.contents[59] := c60;
  985.  
  986. c61 := {
  987.     data: "Define the book’s authors.  (optional)
  988.  
  989.     .author Charles Dickens
  990. ",
  991.     styles: [40, s2, 25, s9, 1, s2],
  992.     layout: 8192
  993. };
  994. book.contents[60] := c61;
  995.  
  996. c62 := {
  997.     data: " .blurb",
  998.     styles: [1, s2, 6, s10, 1, s2],
  999.     layout: 3
  1000. };
  1001. book.contents[61] := c62;
  1002.  
  1003. c63 := {
  1004.     data: "The blurb contains text about the book. May be used for sales orientated information. The text begins on the line following the command and continues until the next dot command. (optional)
  1005.  
  1006.     .blurb 
  1007.     This is a great book that tells all about the life and times of that great author Charles Dickens. Please buy me!
  1008. ",
  1009.     styles: [190, s2, 124, s9, 1, s2],
  1010.     layout: 8192
  1011. };
  1012. book.contents[62] := c63;
  1013.  
  1014. c64 := {
  1015.     data: " .copyright copyright",
  1016.     styles: [1, s5, 10, s10, 1, s5, 9, s14, 1, s5],
  1017.     layout: 3
  1018. };
  1019. book.contents[63] := c64;
  1020.  
  1021. c65 := {
  1022.     data: "Define the current book’s copyright notice.  There can only be one such command. (optional)
  1023.  
  1024.     .copyright (c) 1993 Apple Computer, Inc.
  1025. ",
  1026.     styles: [93, s2, 42, s9, 1, s2],
  1027.     layout: 8192
  1028. };
  1029. book.contents[64] := c65;
  1030.  
  1031. c66 := {
  1032.     data: " .expires date",
  1033.     styles: [2, s5, 7, s10, 1, s5, 4, s14, 1, s5],
  1034.     layout: 3
  1035. };
  1036. book.contents[65] := c66;
  1037.  
  1038. c67 := {
  1039.     data: "Defines the date on which the information contained in this book is no longer valid. There can only be one such command. (optional)
  1040.  
  1041.     .expires July 7, 1993
  1042. ",
  1043.     styles: [133, s2, 23, s9, 1, s2],
  1044.     layout: 8192
  1045. };
  1046. book.contents[66] := c67;
  1047.  
  1048. c68 := {
  1049.     data: " .isbn isbn",
  1050.     styles: [2, s5, 4, s10, 1, s5, 4, s14, 1, s5],
  1051.     layout: 3
  1052. };
  1053. book.contents[67] := c68;
  1054.  
  1055. c69 := {
  1056.     data: "Defines the current book’s ISBN. The ISBN is used to uniquely identify the book between installations. Note that the ISBN should be no more than 15 characters. If you don’t have an ISBN, make up some unique 15-character string. There can only be one such command. (required)
  1057.  
  1058.     .isbn 0-316-08275-9
  1059. ",
  1060.     styles: [276, s2, 21, s9, 1, s2],
  1061.     layout: 8192
  1062. };
  1063. book.contents[68] := c69;
  1064.  
  1065. c70 := {
  1066.     data: " .date date",
  1067.     styles: [1, s5, 5, s10, 1, s5, 4, s14, 1, s5],
  1068.     layout: 3
  1069. };
  1070. book.contents[69] := c70;
  1071.  
  1072. c71 := {
  1073.     data: "Define the publication date of the book. There can only be one such command. (optional)
  1074.  
  1075.     .date July 11, 1994
  1076. ",
  1077.     styles: [89, s2, 21, s9, 1, s2],
  1078.     layout: 8192
  1079. };
  1080. book.contents[70] := c71;
  1081.  
  1082. c72 := {
  1083.     data: " .key keyword1 keyword2 ...",
  1084.     styles: [1, s5, 4, s10, 1, s5, 21, s14, 1, s5],
  1085.     layout: 3
  1086. };
  1087. book.contents[71] := c72;
  1088.  
  1089. c73 := {
  1090.     data: "Define a list of keywords which describe the book to readers. These keywords can be searched on and are remembered by a future book reader even when a book (card) has been removed. There can only be one such command. (optional)
  1091.  
  1092.     .key biography author dickens England writer novelist
  1093. ",
  1094.     styles: [229, s2, 55, s9, 1, s2],
  1095.     layout: 8192
  1096. };
  1097. book.contents[72] := c73;
  1098.  
  1099. c74 := {
  1100.     data: " .publisher publisher",
  1101.     styles: [1, s5, 10, s10, 1, s5, 9, s14, 1, s5],
  1102.     layout: 3
  1103. };
  1104. book.contents[73] := c74;
  1105.  
  1106. c75 := {
  1107.     data: "Define the current book’s publisher. There can only be one such command. (optional)
  1108.  
  1109.     .publisher Apple Computer, Inc.
  1110. ",
  1111.     styles: [85, s2, 33, s9, 1, s2],
  1112.     layout: 8192
  1113. };
  1114. book.contents[74] := c75;
  1115.  
  1116. c76 := {
  1117.     data: " .shortTitle title",
  1118.     styles: [1, s5, 11, s10, 1, s5, 5, s14, 1, s5],
  1119.     layout: 3
  1120. };
  1121. book.contents[75] := c76;
  1122.  
  1123. c77 := {
  1124.     data: "Define the book’s short title which is used for its name in the Extras drawer. There can only be one such command (optional). 
  1125.  
  1126.     .shorttitle Dickens
  1127. ",
  1128.     styles: [128, s2, 21, s9, 1, s2],
  1129.     layout: 8192
  1130. };
  1131. book.contents[76] := c77;
  1132.  
  1133. c78 := {
  1134.     data: " .title title",
  1135.     styles: [1, s5, 6, s10, 1, s5, 5, s14, 1, s5],
  1136.     layout: 3
  1137. };
  1138. book.contents[77] := c78;
  1139.  
  1140. c79 := {
  1141.     data: "Define the book’s title. There can only be one such command.  (required)
  1142.  
  1143.     .title All About Dickens
  1144. ",
  1145.     styles: [74, s2, 26, s9, 1, s2],
  1146.     layout: 8192
  1147. };
  1148. book.contents[78] := c79;
  1149.  
  1150. c80 := {
  1151.     data: "Content Commands",
  1152.     viewFont: s13,
  1153.     layout: 3, 
  1154.     name: "content_commands"
  1155. };
  1156. book.contents[79] := c80;
  1157.  
  1158. c81 := {
  1159.     data: " .attribute name : value  [, name : value ]",
  1160.     styles: [2, s5, 9, s10, 1, s5, 5, s14, 2, s5, 5, s14, 5, s5, 5, s14, 2, s5, 6, s14, 2, s5],
  1161.     layout: 8195
  1162. };
  1163. book.contents[80] := c81;
  1164.  
  1165. c82 := {
  1166.     data: "Allows additional information to be defined for each Content. This command results in a slot being created in the Content frame that can be used by scripts or by the intelligent assistant. For example a Content describing a place might want an attribute containing its telephone number or address.
  1167.  
  1168.     .attribute phone: \"602-555-1212\"
  1169.     .attribute type: 4, color: \"blue\"
  1170. ",
  1171.     styles: [299, s2, 69, s9, 1, s2],
  1172.     layout: 8192
  1173. };
  1174. book.contents[81] := c82;
  1175.  
  1176. c83 := {
  1177.     data: " .chapter flags  [layout=p ] [name=n ] [goto=d ] [browser=l ]",
  1178.     styles: [1, s5, 8, s10, 1, s5, 5, s14, 10, s5, 2, s14, 8, s5, 2, s14, 8, s5, 2, s14, 11, s5, 2, s14, 2, s5],
  1179.     layout: 3
  1180. };
  1181. book.contents[82] := c83;
  1182.  
  1183. c84 := {
  1184.     data: "Synonym for a subject on level 1. See .subject below.
  1185.  
  1186.     .chapter StartsPage layout=Single name=chapter1
  1187.     Introduction to Mud Wallowing
  1188. ",
  1189.     styles: [38, s2, 8, s5, 9, s2, 49, s9, 30, s15, 1, s9, 1, s2],
  1190.     layout: 8192
  1191. };
  1192. book.contents[83] := c84;
  1193.  
  1194. c85 := {
  1195.     data: " .form flags  height=h  width=w  [name=n ] [layout=p ] [browser=l ]",
  1196.     styles: [1, s5, 5, s10, 1, s5, 5, s14, 9, s5, 2, s14, 7, s5, 2, s14, 7, s5, 2, s14, 10, s5, 2, s14, 11, s5, 2, s14, 2, s5],
  1197.     layout: 3
  1198. };
  1199. book.contents[84] := c85;
  1200.  
  1201. c86 := {
  1202.     data: "Reserves space for a form or view on the page. Following the form command is usually a reference to the proto template or layout defined in NTK.  Name adds a slot of type 'name and data equal to the string. Note that the height and width are required and can be gotten by opening a browser on the particular view and looking at the viewBounds of the topmost view.
  1203.  
  1204.     .form name=rect height=100 width=50
  1205.       layout_CoolProto
  1206. ",
  1207.     styles: [365, s2, 57, s9, 1, s2],
  1208.     layout: 8192
  1209. };
  1210. book.contents[85] := c86;
  1211.  
  1212. c87 := {
  1213.     data: " .kiosk name=n  [layout=p ]",
  1214.     styles: [1, s5, 6, s10, 6, s5, 1, s14, 10, s5, 2, s14, 2, s5],
  1215.     layout: 3
  1216. };
  1217. book.contents[86] := c87;
  1218.  
  1219. c88 := {
  1220.     data: "Indicates a new named kiosk page (or menu page). Any content commands (story, picture, etc) following the .kiosk which specify a a place to turn to (with goto=), become buttons in the kiosk page. Any content commands without goto are simply labels or pictures. Note that all contents in kiosk take on the name of the kiosk.
  1221.  
  1222.     .kiosk name=aKiosk layout=myKiosk
  1223.     .story
  1224.     Tap on a subject...
  1225.     .story goto=subj1
  1226.     Car Rental Companies
  1227.     .story goto=subj2
  1228.     Airlines
  1229.     .endkiosk
  1230.  
  1231. Note: You should create a layout to be "&"used with kiosk pages. In this layout be sure to include the Kiosk flag. In this way Book Reader can automatically provide a means for your reader to return to the nearest kiosk via the bookmarks window.
  1232. ",
  1233.     styles: [154, s2, 5, s16, 166, s2, 43, s9, 20, s15, 20, s9, 21, s15, 20, s9, 9, s15, 12, s9, 1, s2, 5, s11, 239, s2],
  1234.     layout: 8192
  1235. };
  1236. book.contents[87] := c88;
  1237.  
  1238. c89 := {
  1239.     data: " .endkiosk",
  1240.     styles: [1, s5, 10, s10],
  1241.     layout: 3
  1242. };
  1243. book.contents[88] := c89;
  1244.  
  1245. c90 := {
  1246.     data: "Ends a kiosk (begun with .kiosk). Required for kiosks.
  1247. ",
  1248.     styles: [25, s2, 6, s10, 25, s2],
  1249.     layout: 8192
  1250. };
  1251. book.contents[89] := c90;
  1252.  
  1253. c91 := {
  1254.     data: " .mark",
  1255.     styles: [1, s5, 6, s10],
  1256.     layout: 3
  1257. };
  1258. book.contents[90] := c91;
  1259.  
  1260. c92 := {
  1261.     data: "Marks the current content for reference by a subsequent usemark. In this way one Content (a form for example) can quickly refer to another without having to search for it. For example you might want the attributes from one Content to be accessible to another. You can only have one Content marked at a time.
  1262.  
  1263.     .story
  1264.     The Smith Company
  1265.     .attribute sales: 126000, profits: 10000
  1266.     .mark
  1267. ",
  1268.     styles: [56, s2, 7, s10, 244, s2, 2, s11, 8, s9, 18, s15, 50, s9, 1, s11],
  1269.     layout: 8192
  1270. };
  1271. book.contents[91] := c92;
  1272.  
  1273. c93 := {
  1274.     data: " .usemark",
  1275.     styles: [1, s5, 8, s10, 1, s5],
  1276.     layout: 3
  1277. };
  1278. book.contents[92] := c93;
  1279.  
  1280. c94 := {
  1281.     data: "Adds to the current content a slot named related which contains a reference to a content that was \u201c" & "marked\u201d" & " with the mark command.
  1282.  
  1283.     .form height=100 width=240
  1284.     layout_FinancialForm
  1285.     .usemark
  1286. ",
  1287.     styles: [41, s2, 7, s5, 68, s2, 4, s5, 10, s2, 1, s11, 60, s9, 1, s11],
  1288.     layout: 8192
  1289. };
  1290. book.contents[93] := c94;
  1291.  
  1292. c95 := {
  1293.     data: " .picture [\"path \"] [name=n ] [goto=d ] [browser=l ] [width=w ] [height=h ] flags",
  1294.     styles: [1, s5, 8, s10, 3, s5, 5, s14, 9, s5, 2, s14, 8, s5, 2, s14, 11, s5, 2, s14, 9, s5, 2, s14, 10, s5, 2, s14, 2, s5, 5, s14, 1, s5],
  1295.     layout: 3
  1296. };
  1297. book.contents[94] := c95;
  1298.  
  1299. c96 := {
  1300.     data: "Specifies that the following PICT be used as a Content. A path to an external PICT file may also be specified. Name adds a slot of type 'name and data equal to the string. Goto specifies a content to turn to when the picture is tapped by the user. An optional width or height (in pixels) can be specified.
  1301.  
  1302.     .picture \"myDisk:proj:portrait\" Centered
  1303.  
  1304. When Dickens lays out pages, it tries to give the maximum amount of space possible to pictures so users are not always forced to scroll. Often this means that p"&"ictures are placed on the next page instead of staying with a related subject or story. To avoid this the author can either use the KeepWith flag to keep the picture with the previous content or specify a smaller size for the picture using the width and height commands.
  1305.  
  1306. Note that you can’t mix text and graphics within the same Content.
  1307. ",
  1308.     styles: [307, s2, 42, s9, 293, s2, 8, s10, 200, s2],
  1309.     layout: 8192
  1310. };
  1311. book.contents[95] := c96;
  1312.  
  1313. c97 := {
  1314.     data: " .script [event ]",
  1315.     styles: [1, s5, 7, s10, 2, s5, 6, s14, 2, s5],
  1316.     layout: 3
  1317. };
  1318. book.contents[96] := c97;
  1319.  
  1320. c98 := {
  1321.     data: "Attaches a NewtonScript to the current Content (the current content is any previous chapter, map, picture, story, etc). Scripts may also be entered at the beginning of the document (before any content or layout commands) in which case their scope will be global (referred to as book scripts) and also may be entered following a layout command (referred to as page scripts). Event is what triggers the script (the default is buttonClickScript, other examples might include viewDrawScript). 
  1322.  
  1323. All lines until the"&" .endscript are taken as the script.
  1324.  
  1325.     .script viewClickScript
  1326.         playsound(click);
  1327.         :buttonClickScript();
  1328.     .endscript
  1329. ",
  1330.     styles: [511, s2, 10, s10, 27, s2, 81, s9, 1, s2],
  1331.     layout: 8192
  1332. };
  1333. book.contents[97] := c98;
  1334.  
  1335. c99 := {
  1336.     data: " .endscript",
  1337.     styles: [1, s5, 11, s10],
  1338.     layout: 3
  1339. };
  1340. book.contents[98] := c99;
  1341.  
  1342. c100 := {
  1343.     data: "Terminates a NewtonScript block (begun with .script).
  1344. ",
  1345.     styles: [44, s2, 7, s10, 4, s2],
  1346.     layout: 8192
  1347. };
  1348. book.contents[99] := c100;
  1349.  
  1350. c101 := {
  1351.     data: " .story flags  [layout=p ] [name=n ] [goto=d ] [browser=l ]",
  1352.     styles: [1, s5, 6, s10, 1, s5, 6, s14, 9, s5, 2, s14, 8, s5, 2, s14, 8, s5, 2, s14, 11, s5, 2, s14, 2, s5],
  1353.     layout: 3
  1354. };
  1355. book.contents[100] := c101;
  1356.  
  1357. c102 := {
  1358.     data: "Indicates a new Content within the previous \u201c" & "Subject.\u201d" & " The Content will be one level deeper. Parameters are the same as the .subject command. Name adds a slot of type 'name and data equal to the string. Goto specifies a content to turn to when this content is tapped by the user.
  1359.  
  1360.     .story MainColumn layout=TwoColumn
  1361. ",
  1362.     styles: [281, s2, 36, s9, 1, s2],
  1363.     layout: 8192
  1364. };
  1365. book.contents[101] := c102;
  1366.  
  1367. c103 := {
  1368.     data: " .subject level flags  [layout=p ] [name=n ] [goto=d ] [browser=l ]",
  1369.     styles: [1, s5, 8, s10, 1, s5, 11, s14, 10, s5, 2, s14, 8, s5, 2, s14, 8, s5, 2, s14, 11, s5, 2, s14, 2, s5],
  1370.     layout: 3
  1371. };
  1372. book.contents[102] := c103;
  1373.  
  1374. c104 := {
  1375.     data: "Indicate a new Content at level  (1 is a chapter, etc.). The following text or graphic is the current Content until the next  defining command (chapter, map, picture, story, etc). Subject text will appear in the Browser. Name adds a slot of type 'name and data equal to the string. Goto specifies a content to turn to when this content is tapped by the user. See Page Layout Commands, below for details on the layout and styles options.
  1376.  
  1377.     .subject 2 Reverse StartsPage layout=TwoColumn
  1378.     Raising Pigs for Fun an"&"d Profit
  1379. ",
  1380.     styles: [438, s2, 48, s9, 33, s15, 1, s1],
  1381.     layout: 8192
  1382. };
  1383. book.contents[103] := c104;
  1384.  
  1385. c105 := {
  1386.     data: "Browser Commands",
  1387.     viewFont: s13,
  1388.     layout: 3, 
  1389.     name: "browser_commands"
  1390. };
  1391. book.contents[104] := c105;
  1392.  
  1393. c106 := {
  1394.     data: " .browser name type",
  1395.     styles: [1, s5, 8, s10, 1, s5, 4, s14, 1, s5, 4, s14, 1, s5],
  1396.     layout: 8195
  1397. };
  1398. book.contents[105] := c106;
  1399.  
  1400. c107 := {
  1401.     data: "Creates a new browser pane in the browser. Name is the name as it will appear in the browser menu and is also used to match with contents that have the browser= set. Type can be either list or form. If the type is form, following the command is a form definition that is the browser pane. ViewBounds must be limited to the size of the browser pane.
  1402.  
  1403.     .browser Hotels list
  1404. ",
  1405.     styles: [152, s2, 8, s16, 25, s2, 4, s16, 4, s2, 4, s16, 153, s2, 22, s9, 1, s2],
  1406.     layout: 8192
  1407. };
  1408. book.contents[106] := c107;
  1409.  
  1410. c108 := {
  1411.     data: "Page Layout Commands",
  1412.     viewFont: s13,
  1413.     layout: 3, 
  1414.     name: "page_commands"
  1415. };
  1416. book.contents[107] := c108;
  1417.  
  1418. c109 := {
  1419.     data: " .layout name width flags  [width flags]...",
  1420.     styles: [8, s11, 1, s2, 16, s16, 3, s2, 11, s16, 5, s2],
  1421.     layout: 8195
  1422. };
  1423. book.contents[108] := c109;
  1424.  
  1425. c110 := {
  1426.     data: "Creates a named page layout with a number of columns whose widths are specified. 
  1427.  
  1428.     .layout twoColumn 6 6 Edges 
  1429.  
  1430. Defines a page layout (which is referred to as \u201c" & "twoColumn\u201d" & ") with two equal main columns, with a box around it.
  1431.  
  1432.     .layout annotated 4 Sidebar 8
  1433.  
  1434. Defines a page layout (which is named \u201c" & "annotated\u201d" & ") with two columns. The left column is four grid units or 1/3 of the page, and is a sidebar. The right column is 8 grid units or 2/3 the width of the page, and is the main column.
  1435.  
  1436. If a .script follows a"&" .layout command, the script is attached to the layout. In this manner a script can be used to handle the drawing of a special background or click event not handled by Content.
  1437.  
  1438. If a specific layout is not specified in a content command, the last defined one is used. Thus it’s a good idea to make your default layout, the last one you define.
  1439. ",
  1440.     styles: [83, s2, 30, s9, 113, s2, 31, s9, 237, s2, 6, s10, 11, s2, 7, s10, 337, s2],
  1441.     layout: 8192
  1442. };
  1443. book.contents[109] := c110;
  1444.  
  1445. c111 := {
  1446.     data: " .header",
  1447.     styles: [2, s2, 6, s11, 1, s2],
  1448.     layout: 3
  1449. };
  1450. book.contents[110] := c111;
  1451.  
  1452. c112 := {
  1453.     data: "Assigns to the previous layout command a centered text header which will be displayed at the top of every page that uses the layout. The font and style specified are used.
  1454. ",
  1455.     viewFont: s2,
  1456.     layout: 8192
  1457. };
  1458. book.contents[111] := c112;
  1459.  
  1460. c113 := {
  1461.     data: " .pictheader",
  1462.     viewFont: s11,
  1463.     layout: 3
  1464. };
  1465. book.contents[112] := c113;
  1466.  
  1467. c114 := {
  1468.     data: "Assigns to the previous layout command a picture header which will be displayed at the top of every page that uses the layout. 
  1469. ",
  1470.     viewFont: s2,
  1471.     layout: 8192
  1472. };
  1473. book.contents[113] := c114;
  1474.  
  1475. c115 := {
  1476.     data: " .running type [pageBottom] flags",
  1477.     styles: [9, s11, 1, s2, 4, s16, 2, s2, 10, s16, 2, s2, 5, s16, 1, s2],
  1478.     layout: 3
  1479. };
  1480. book.contents[114] := c115;
  1481.  
  1482. c116 := {
  1483.     data: "Assigns to the previous layout command a content of type picture, story or form and automatically places that content on every page. The content can appear at the top of the page (below the header if applicable), and/or at the bottom of the page if the pageBottom flag is used. The content type is used the same way as its corresponding content command (.story, .picture, .form).
  1484.  
  1485.     .layout full 12
  1486.     .running form height=100 width=200 layout_CoolHead
  1487. ",
  1488.     styles: [354, s2, 23, s5, 4, s2, 69, s9, 1, s2],
  1489.     layout: 8192
  1490. };
  1491. book.contents[115] := c116;
  1492.  
  1493. c117 := {
  1494.     data: "Other Commands",
  1495.     viewFont: s13,
  1496.     layout: 3, 
  1497.     name: "other_commands"
  1498. };
  1499. book.contents[116] := c117;
  1500.  
  1501. c118 := {
  1502.     data: " .# text",
  1503.     styles: [3, s11, 1, s2, 4, s16, 1, s2],
  1504.     layout: 8195
  1505. };
  1506. book.contents[117] := c118;
  1507.  
  1508. c119 := {
  1509.     data: "Allows a comment line which does not appear in the output.
  1510.  
  1511.     .# This is a comment
  1512. ",
  1513.     styles: [60, s2, 22, s9, 1, s2],
  1514.     layout: 8192
  1515. };
  1516. book.contents[118] := c119;
  1517.  
  1518. c120 := {
  1519.     data: " .chain \"filename \"",
  1520.     styles: [7, s11, 2, s2, 9, s16, 2, s2],
  1521.     layout: 3
  1522. };
  1523. book.contents[119] := c120;
  1524.  
  1525. c121 := {
  1526.     data: "Chains the processing of the current file to another. The previous file is closed.
  1527. ",
  1528.     viewFont: s2,
  1529.     layout: 8192
  1530. };
  1531. book.contents[120] := c121;
  1532.  
  1533. c122 := {
  1534.     data: " .index word",
  1535.     styles: [7, s11, 1, s2, 4, s16, 1, s2],
  1536.     layout: 3
  1537. };
  1538. book.contents[121] := c122;
  1539.  
  1540. c123 := {
  1541.     data: "Creates an alphabetic index and adds word to it. With each index entry is kept the content in which the .index command was used. When Dickens processes the file, it outputs an array of contents in alphabetic order and stores it with the slot name alphaIndex in bookdata (see Useful Functions, below). A second array is also output with the slot name subIndex which for each letter of the alphabet, an array index into alphaIndex for that letter.
  1542.  
  1543.     .index Apple Computer
  1544. ",
  1545.     styles: [447, s2, 23, s9, 1, s2],
  1546.     layout: 8192
  1547. };
  1548. book.contents[122] := c123;
  1549.  
  1550. c124 := {
  1551.     data: " .preamble",
  1552.     viewFont: s11,
  1553.     layout: 3
  1554. };
  1555. book.contents[123] := c124;
  1556.  
  1557. c125 := {
  1558.     data: "Allows text to be output into the dickens output file. The text is placed before any definitions of content. The .endpreamble is optional.
  1559.  
  1560.     .preamble
  1561.     book.data.myStuff := specialProto;
  1562.     .endpreamble
  1563. ",
  1564.     styles: [140, s2, 61, s9, 1, s2],
  1565.     layout: 8192
  1566. };
  1567. book.contents[124] := c125;
  1568.  
  1569. c126 := {
  1570.     data: " .postamble",
  1571.     viewFont: s11,
  1572.     layout: 3
  1573. };
  1574. book.contents[125] := c126;
  1575.  
  1576. c127 := {
  1577.     data: "Allows text to be output into the dickens output file. The text is placed after all definitions of content and internal book frames. The .endpostamble is optional.
  1578.  
  1579.     .postamble
  1580.     book.data.specialContent := c1;
  1581.     .endpostamble
  1582. ",
  1583.     styles: [165, s2, 60, s9, 1, s1],
  1584.     layout: 8192
  1585. };
  1586. book.contents[126] := c127;
  1587.  
  1588. c128 := {
  1589.     data: "Flags",
  1590.     viewFont: s8,
  1591.     layout: 3, 
  1592.     name: "flags"
  1593. };
  1594. book.contents[127] := c128;
  1595.  
  1596. c129 := {
  1597.     data: "Flags are used to specify various layout and visual options.
  1598. ",
  1599.     viewFont: s2,
  1600.     layout: 8195
  1601. };
  1602. book.contents[128] := c129;
  1603.  
  1604. c130 := {
  1605.     data: "Document flags",
  1606.     viewFont: s13,
  1607.     layout: 3, 
  1608.     name: "document_flags"
  1609. };
  1610. book.contents[129] := c130;
  1611.  
  1612. c131 := {
  1613.     data: "NoReLayout",
  1614.     styles: [10, s11, 1, s2],
  1615.     layout: 8195
  1616. };
  1617. book.contents[130] := c131;
  1618.  
  1619. c132 := {
  1620.     data: "Keep everything the same even if screen size changes.",
  1621.     viewFont: s2,
  1622.     layout: 8192
  1623. };
  1624. book.contents[131] := c132;
  1625.  
  1626. c133 := {
  1627.     data: "RightToLeft",
  1628.     styles: [11, s11, 1, s2],
  1629.     layout: 3
  1630. };
  1631. book.contents[132] := c133;
  1632.  
  1633. c134 := {
  1634.     data: "The rightmost column is used before the left for support of languages that run right to left.
  1635. ",
  1636.     viewFont: s2,
  1637.     layout: 8192
  1638. };
  1639. book.contents[133] := c134;
  1640.  
  1641. c135 := {
  1642.     data: "Content flags",
  1643.     viewFont: s13,
  1644.     layout: 3, 
  1645.     name: "content_flags"
  1646. };
  1647. book.contents[134] := c135;
  1648.  
  1649. c136 := {
  1650.     data: "Main",
  1651.     styles: [4, s10, 1, s2],
  1652.     layout: 8195
  1653. };
  1654. book.contents[135] := c136;
  1655.  
  1656. c137 := {
  1657.     data: "Display in a main column (this is the default).",
  1658.     viewFont: s2,
  1659.     layout: 8192
  1660. };
  1661. book.contents[136] := c137;
  1662.  
  1663. c138 := {
  1664.     data: "Sidebar",
  1665.     styles: [7, s10, 1, s2],
  1666.     layout: 3
  1667. };
  1668. book.contents[137] := c138;
  1669.  
  1670. c139 := {
  1671.     data: "Display in the sidebar column.",
  1672.     viewFont: s2,
  1673.     layout: 8192
  1674. };
  1675. book.contents[138] := c139;
  1676.  
  1677. c140 := {
  1678.     data: "ToEdge",
  1679.     styles: [6, s10, 1, s2],
  1680.     layout: 3
  1681. };
  1682. book.contents[139] := c140;
  1683.  
  1684. c141 := {
  1685.     data: "Spills out (from its column) to the edge of the page.",
  1686.     viewFont: s2,
  1687.     layout: 8192
  1688. };
  1689. book.contents[140] := c141;
  1690.  
  1691. c142 := {
  1692.     data: "Centered",
  1693.     styles: [8, s10, 1, s2],
  1694.     layout: 3
  1695. };
  1696. book.contents[141] := c142;
  1697.  
  1698. c143 := {
  1699.     data: "Centered within column.",
  1700.     viewFont: s2,
  1701.     layout: 8192
  1702. };
  1703. book.contents[142] := c143;
  1704.  
  1705. c144 := {
  1706.     data: "ForceScroll",
  1707.     styles: [11, s10, 1, s2],
  1708.     layout: 3
  1709. };
  1710. book.contents[143] := c144;
  1711.  
  1712. c145 := {
  1713.     data: "Entire page will scroll if Content is large enough.",
  1714.     viewFont: s2,
  1715.     layout: 8192
  1716. };
  1717. book.contents[144] := c145;
  1718.  
  1719. c146 := {
  1720.     data: "NeverBreak",
  1721.     styles: [10, s10, 1, s2],
  1722.     layout: 3
  1723. };
  1724. book.contents[145] := c146;
  1725.  
  1726. c147 := {
  1727.     data: "Avoid splitting text between pages.",
  1728.     viewFont: s2,
  1729.     layout: 8192
  1730. };
  1731. book.contents[146] := c147;
  1732.  
  1733. c148 := {
  1734.     data: "StartsPage",
  1735.     styles: [10, s10, 1, s2],
  1736.     layout: 3
  1737. };
  1738. book.contents[147] := c148;
  1739.  
  1740. c149 := {
  1741.     data: "Always put on top of new page.",
  1742.     viewFont: s2,
  1743.     layout: 8192
  1744. };
  1745. book.contents[148] := c149;
  1746.  
  1747. c150 := {
  1748.     data: "PageBottom",
  1749.     styles: [10, s10, 1, s2],
  1750.     layout: 3
  1751. };
  1752. book.contents[149] := c150;
  1753.  
  1754. c151 := {
  1755.     data: "Always put on the bottom of a page.",
  1756.     viewFont: s2,
  1757.     layout: 8192
  1758. };
  1759. book.contents[150] := c151;
  1760.  
  1761. c152 := {
  1762.     data: "PageMiddle",
  1763.     styles: [10, s10, 1, s2],
  1764.     layout: 3
  1765. };
  1766. book.contents[151] := c152;
  1767.  
  1768. c153 := {
  1769.     data: "Put in the vertical middle of the page.",
  1770.     viewFont: s2,
  1771.     layout: 8192
  1772. };
  1773. book.contents[152] := c153;
  1774.  
  1775. c154 := {
  1776.     data: "WrapAround ",
  1777.     styles: [10, s10, 2, s2],
  1778.     layout: 3
  1779. };
  1780. book.contents[153] := c154;
  1781.  
  1782. c155 := {
  1783.     data: "Used for callout or Illustration",
  1784.     viewFont: s2,
  1785.     layout: 8192
  1786. };
  1787. book.contents[154] := c155;
  1788.  
  1789. c156 := {
  1790.     data: "AlignTop",
  1791.     styles: [8, s10, 1, s2],
  1792.     layout: 3
  1793. };
  1794. book.contents[155] := c156;
  1795.  
  1796. c157 := {
  1797.     data: "Align sidebar with top of previous Content.",
  1798.     viewFont: s2,
  1799.     layout: 8192
  1800. };
  1801. book.contents[156] := c157;
  1802.  
  1803. c158 := {
  1804.     data: "AlignBottom",
  1805.     styles: [11, s10, 1, s2],
  1806.     layout: 3
  1807. };
  1808. book.contents[157] := c158;
  1809.  
  1810. c159 := {
  1811.     data: "Align sidebar with bottom of previous Content.",
  1812.     viewFont: s2,
  1813.     layout: 8192
  1814. };
  1815. book.contents[158] := c159;
  1816.  
  1817. c160 := {
  1818.     data: "AlignCenter",
  1819.     styles: [11, s10, 1, s2],
  1820.     layout: 3
  1821. };
  1822. book.contents[159] := c160;
  1823.  
  1824. c161 := {
  1825.     data: "Align sidebar with center of previous Content.",
  1826.     viewFont: s2,
  1827.     layout: 8192
  1828. };
  1829. book.contents[160] := c161;
  1830.  
  1831. c162 := {
  1832.     data: "BrowserOnly",
  1833.     styles: [11, s10, 1, s2],
  1834.     layout: 3
  1835. };
  1836. book.contents[161] := c162;
  1837.  
  1838. c163 := {
  1839.     data: "Content will not be drawn on the page.",
  1840.     viewFont: s2,
  1841.     layout: 8192
  1842. };
  1843. book.contents[162] := c163;
  1844.  
  1845. c164 := {
  1846.     data: "Overlay",
  1847.     styles: [7, s10, 1, s2],
  1848.     layout: 3
  1849. };
  1850. book.contents[163] := c164;
  1851.  
  1852. c165 := {
  1853.     data: "Overlays previous Content without forcing a wrap",
  1854.     viewFont: s2,
  1855.     layout: 8192
  1856. };
  1857. book.contents[164] := c165;
  1858.  
  1859. c166 := {
  1860.     data: "KeepWith",
  1861.     styles: [8, s10, 1, s2],
  1862.     layout: 3
  1863. };
  1864. book.contents[165] := c166;
  1865.  
  1866. c167 := {
  1867.     data: "Keep this Content with the previous.",
  1868.     viewFont: s2,
  1869.     layout: 8192
  1870. };
  1871. book.contents[166] := c167;
  1872.  
  1873. c168 := {
  1874.     data: "NoTitle",
  1875.     styles: [7, s10, 1, s2],
  1876.     layout: 3
  1877. };
  1878. book.contents[167] := c168;
  1879.  
  1880. c169 := {
  1881.     data: "Layout flag indicating that space should not be reserved for a running title.",
  1882.     viewFont: s2,
  1883.     layout: 8192
  1884. };
  1885. book.contents[168] := c169;
  1886.  
  1887. c170 := {
  1888.     data: "TopEdge",
  1889.     styles: [7, s10, 1, s2],
  1890.     layout: 3
  1891. };
  1892. book.contents[169] := c170;
  1893.  
  1894. c171 := {
  1895.     data: "Draw line above.",
  1896.     viewFont: s2,
  1897.     layout: 8192
  1898. };
  1899. book.contents[170] := c171;
  1900.  
  1901. c172 := {
  1902.     data: "LeftEdge",
  1903.     styles: [8, s10, 1, s2],
  1904.     layout: 3
  1905. };
  1906. book.contents[171] := c172;
  1907.  
  1908. c173 := {
  1909.     data: "Draw line left edge.",
  1910.     viewFont: s2,
  1911.     layout: 8192
  1912. };
  1913. book.contents[172] := c173;
  1914.  
  1915. c174 := {
  1916.     data: "BottomEdge ",
  1917.     styles: [10, s10, 2, s2],
  1918.     layout: 3
  1919. };
  1920. book.contents[173] := c174;
  1921.  
  1922. c175 := {
  1923.     data: "Draw line bottom edge.",
  1924.     viewFont: s2,
  1925.     layout: 8192
  1926. };
  1927. book.contents[174] := c175;
  1928.  
  1929. c176 := {
  1930.     data: "RightEdge",
  1931.     styles: [9, s10, 1, s2],
  1932.     layout: 3
  1933. };
  1934. book.contents[175] := c176;
  1935.  
  1936. c177 := {
  1937.     data: "Draw line right edge.",
  1938.     viewFont: s2,
  1939.     layout: 8192
  1940. };
  1941. book.contents[176] := c177;
  1942.  
  1943. c178 := {
  1944.     data: "Edges",
  1945.     styles: [5, s10, 1, s2],
  1946.     layout: 3
  1947. };
  1948. book.contents[177] := c178;
  1949.  
  1950. c179 := {
  1951.     data: "Draw box around.",
  1952.     viewFont: s2,
  1953.     layout: 8192
  1954. };
  1955. book.contents[178] := c179;
  1956.  
  1957. c180 := {
  1958.     data: "Round",
  1959.     styles: [5, s10, 1, s2],
  1960.     layout: 3
  1961. };
  1962. book.contents[179] := c180;
  1963.  
  1964. c181 := {
  1965.     data: "Corners are rounded.",
  1966.     viewFont: s2,
  1967.     layout: 8192
  1968. };
  1969. book.contents[180] := c181;
  1970.  
  1971. c182 := {
  1972.     data: "Reverse",
  1973.     styles: [7, s10, 1, s2],
  1974.     layout: 3
  1975. };
  1976. book.contents[181] := c182;
  1977.  
  1978. c183 := {
  1979.     data: "Draw white on black.
  1980. ",
  1981.     viewFont: s2,
  1982.     layout: 8192
  1983. };
  1984. book.contents[182] := c183;
  1985.  
  1986. c184 := {
  1987.     data: "On the same line (but following) any of the above edges commands, the author can set the width of the line to be used with the following command: edgewidth=number
  1988. Where number is the width in pixels.
  1989. ",
  1990.     viewFont: s2,
  1991.     layout: 3
  1992. };
  1993. book.contents[183] := c184;
  1994.  
  1995. c185 := {
  1996.     data: "FullColumn",
  1997.     styles: [10, s10, 1, s2],
  1998.     layout: 3
  1999. };
  2000. book.contents[184] := c185;
  2001.  
  2002. c186 := {
  2003.     data: "Can be added to the invert or any edge command to extend to the full width of the column.",
  2004.     viewFont: s2,
  2005.     layout: 8192
  2006. };
  2007. book.contents[185] := c186;
  2008.  
  2009. c187 := {
  2010.     data: "Kiosk ",
  2011.     styles: [5, s10, 2, s2],
  2012.     layout: 3
  2013. };
  2014. book.contents[186] := c187;
  2015.  
  2016. c188 := {
  2017.     data: "This Page Layout is a kiosk page layout",
  2018.     viewFont: s2,
  2019.     layout: 8192
  2020. };
  2021. book.contents[187] := c188;
  2022.  
  2023. c189 := {
  2024.     data: "NoPage ",
  2025.     styles: [6, s10, 2, s2],
  2026.     layout: 3
  2027. };
  2028. book.contents[188] := c189;
  2029.  
  2030. c190 := {
  2031.     data: "This Content will not display on a page (although might be displayed via a script.)",
  2032.     viewFont: s2,
  2033.     layout: 8192
  2034. };
  2035. book.contents[189] := c190;
  2036.  
  2037. c191 := {
  2038.     data: "NoScroller",
  2039.     styles: [10, s10, 1, s2],
  2040.     layout: 3
  2041. };
  2042. book.contents[190] := c191;
  2043.  
  2044. c192 := {
  2045.     data: "Inhibits  a scroll control from appearing in graphics larger than the column.",
  2046.     viewFont: s2,
  2047.     layout: 8192
  2048. };
  2049. book.contents[191] := c192;
  2050.  
  2051. c193 := {
  2052.     data: "HalfBrowser",
  2053.     styles: [11, s10, 1, s2],
  2054.     layout: 3
  2055. };
  2056. book.contents[192] := c193;
  2057.  
  2058. c194 := {
  2059.     data: "Display this subject in a half-width browser column. Note that siblings of this subject should have the flag as well.
  2060. ",
  2061.     viewFont: s2,
  2062.     layout: 8192
  2063. };
  2064. book.contents[193] := c194;
  2065.  
  2066. c195 := {
  2067.     data: "Book Examples",
  2068.     viewFont: s8, 
  2069.     name: "examples"
  2070. };
  2071. book.contents[194] := c195;
  2072.  
  2073. c196 := {
  2074.     data: "Example One",
  2075.     viewFont: s13, 
  2076.     name: "example_1"
  2077. };
  2078. book.contents[195] := c196;
  2079.  
  2080. c197 := {
  2081.     data: "This first example shows some of the basic steps in creating a book. The book is defined first followed by layouts, a kiosk page and finally the content.
  2082.  
  2083.  .# Document Commands
  2084.  .# First the Book’s title
  2085.  .title The Planets
  2086.  .# Next the name we want in the extras drawer
  2087.  .shorttitle Planets
  2088.  .author Brad Zeus
  2089.  .# The ISBN needs to be unique
  2090.  .isbn ZeusBook1
  2091.  .date 10/5/93
  2092.  .publisher Zeus Publishing, Inc.
  2093.  .copyright (c)1993 Zeus Publishing, Inc.
  2094.  
  2095.  .# Layout Commands
  2096.  .# We’re naming the layout: menu. It "&"uses all twelve columns. Note also the kiosk flag.
  2097.  .layout menu 12 Kiosk
  2098.  .# Now a second layout with a text header. 
  2099.  .layout full 12
  2100.  .header
  2101.  The Planets
  2102.  
  2103.  .# Kiosk Pages
  2104.  .# For our book we want to start with a menu of choices of where to go in the book.
  2105.  .# So we define a kiosk. It’s name is contents and it uses the menu layout.
  2106.  .kiosk name=Contents layout=menu
  2107.  .# The text \u201c" & "Earth\u201d" & " when pressed will goto the content named earth
  2108.  .story goto=earth
  2109.  Earth 
  2110.  .story goto=mars
  2111.  Mars
  2112.  .story goto=jupiter"&"
  2113.  Jupiter
  2114.  .endkiosk
  2115.  
  2116.  .# Content
  2117.  .# This first subject will be shown in the browser on the first level. It have been given a name so that the goto in the kiosk can find it. We’ve also indicated that we want this content to start a new page.
  2118.  .subject 1 name=earth StartsPage
  2119.  Earth, The living planet
  2120.  .picture Centered",
  2121.     styles: [154, s2, 2, s9, 2, s15, 1, s9, 18, s17, 3, s15, 1, s9, 22, s17, 1, s9, 7, s15, 13, s9, 3, s15, 1, s9, 42, s17, 1, s9, 12, s15, 9, s9, 8, s15, 11, s9, 4, s15, 27, s17, 1, s9, 6, s15, 11, s9, 6, s15, 9, s9, 11, s15, 23, s9, 11, s15, 32, s9, 3, s15, 1, s9, 15, s17, 1, s9, 3, s15, 1, s9, 84, s17, 1, s9, 8, s15, 15, s9, 4, s15, 39, s17, 2, s9, 8, s15, 9, s9, 8, s15, 1, s9, 13, s18, 1, s9, 3, s15, 1, s9, 11, s17, 1, s9, 3, s15, 1, s9, 79, s17, 2, s9, 3, s15, 1, s9, 73, s17, 7, s15, 27, s9, 3, s15, 1, s9, 63, s17, 1, s9, 7, s15, 12, s9, 8, s18, 7, s15, 11, s9, 6, s18, 7, s15, 14, s9, 9, s18, 10, s15, 2, s9, 3, s15, 1, s9, 7, s17, 1, s9, 3, s15, 1, s9, 205, s17, 9, s15, 25, s9, 26, s18, 9, s15, 10, s9],
  2122.     layout: 8192
  2123. };
  2124. book.contents[196] := c197;
  2125.  
  2126. c198 := {
  2127.     data: GetNamedResource("PICT", "26926", 'picture),
  2128.     scripts: ['buttonClickScript, func ()
  2129. begin
  2130. PlaySound(ROM_click);
  2131. :ShowStoryCard('card, "earth", {left: 60, top: 20, right: 200, bottom: 100});
  2132. end]
  2133. };
  2134. book.contents[197] := c198;
  2135.  
  2136. c199 := {
  2137.     data: "Diameter    12,756 km
  2138. Mass    1
  2139. Density    5.52
  2140. Day    23h 56m
  2141. ",
  2142.     styles: [51, s2, 1, s9],
  2143.     layout: 16384,
  2144.     tabs: [63],
  2145.     card: "earth"
  2146. };
  2147. book.contents[198] := c199;
  2148.  
  2149. c200 := {
  2150.     data: " .# We’ll add a script to this picture that will cause a story card to pop-up when clicked.
  2151.  .script
  2152.  .# This script says to find the story with the card slot containing the string \u201c" & "earth\u201d" & " and display it in a story card.
  2153.   PlaySound(ROM_click); 
  2154.  :ShowStoryCard('card, \"earth\", {left: 60, top: 20, right: 200, bottom: 100});
  2155.  .endscript
  2156.  
  2157.  .# Introduction will appear in the brower only under the subject Earth defined above.
  2158.  .subject 2 BrowserOnly
  2159.  Introduction
  2160.  .story layout=full
  2161.     Naturally, scientists know"&" more about our beautiful, temperate world than any other in the universes. They are on hand to experiment directly, to interpret the evidence and to draw conclusions.
  2162.  
  2163. From the available evidence, planetary scientists are now reasonably certain that at the centre of Earth there is a nickel-iron core. This is divided into two parts: a metallic centre 2.500 kilometres in diameter and, surrounding it, a layer where the iron and nickel are in a liquid state. This liquid section is about 2,200 kilometres thic"&"k.
  2164.  
  2165.  .# This is the story card text we want popped up when the user taps the Earth picture. Note the NoPage flag.
  2166.  .story NoPage
  2167.  .attribute card: \"earth\"
  2168. Diameter    12,756 km
  2169. Mass    1
  2170. Density    5.52
  2171. Day    23h 56m
  2172.  
  2173.  .subject 1 name=mars StartsPage
  2174. Mars, The Red Planet
  2175.  .subject 1 name=jupiter StartsPage
  2176. Jupiter, The Big Planet with the Spot Thing
  2177. ",
  2178.     styles: [3, s15, 1, s9, 88, s17, 8, s15, 1, s9, 3, s15, 1, s9, 116, s17, 104, s9, 11, s15, 2, s9, 3, s15, 1, s9, 82, s17, 1, s9, 9, s15, 15, s9, 14, s18, 7, s15, 13, s9, 540, s18, 1, s9, 3, s15, 1, s9, 106, s17, 7, s15, 8, s9, 11, s15, 15, s9, 51, s18, 3, s9, 7, s15, 24, s9, 21, s18, 10, s15, 26, s9, 45, s18],
  2179.     tabs: [18]
  2180. };
  2181. book.contents[199] := c200;
  2182.  
  2183. c201 := {
  2184.     data: "Example Two",
  2185.     viewFont: s13, 
  2186.     name: "example_2"
  2187. };
  2188. book.contents[200] := c201;
  2189.  
  2190. c202 := {
  2191.     data: "This example shows how to use a layout command and Dickens flags to have text and graphics side by side.
  2192.  
  2193.  .title Dickens Examples
  2194.  .shortTitle Examples
  2195.  .isbn example-1
  2196.  
  2197.  .layout sideby 6 6 sidebar
  2198.  
  2199.  .subject toEdge
  2200. Layout Examples
  2201.  .story
  2202. As you can see, Dickens supports text next to graphics.
  2203.  .picture sidebar alignCenter",
  2204.     styles: [106, s2, 7, s15, 18, s9, 12, s15, 10, s9, 6, s15, 12, s9, 8, s15, 21, s9, 9, s15, 8, s9, 16, s4, 7, s15, 1, s9, 56, s18, 9, s15, 21, s9],
  2205.     layout: 8192
  2206. };
  2207. book.contents[201] := c202;
  2208.  
  2209. c203 := {
  2210.     data: GetNamedResource("PICT", "25277", 'picture)
  2211. };
  2212. book.contents[202] := c203;
  2213.  
  2214. c204 := {
  2215.     data: " .story toEdge
  2216. It’s all done with layout flags (this is the secret to doing almost anything with Newton Book Maker). The idea is to use a 2-column layout, but by frequent use of the toEdge flag, give most Contents the entire width of the page. Leave this flag off on the left column text, and use sidebar and whatever alignment is appropriate on the picture.
  2217.  .# end of example
  2218.  
  2219. After processing by Dickens and NTK here’s the result:",
  2220.     styles: [7, s15, 8, s9, 344, s18, 3, s15, 17, s9, 55, s2]
  2221. };
  2222. book.contents[203] := c204;
  2223.  
  2224. c205 := {
  2225.     data: GetNamedResource("PICT", "21686", 'picture),
  2226.     layout: 4
  2227. };
  2228. book.contents[204] := c205;
  2229.  
  2230. c206 := {
  2231.     data: "",
  2232.     viewFont: s19
  2233. };
  2234. book.contents[205] := c206;
  2235.  
  2236. c207 := {
  2237.     data: "Dickens Script Writers Guide",
  2238.     viewFont: s8, 
  2239.     name: "writers_guide"
  2240. };
  2241. book.contents[206] := c207;
  2242.  
  2243. c208 := {
  2244.     data: "Scripts Caution",
  2245.     viewFont: s13, 
  2246.     name: "scripts_caution"
  2247. };
  2248. book.contents[207] := c208;
  2249.  
  2250. c209 := {
  2251.     data: "Do not use viewSetupFormScript at the book or page level. Instead, use viewSetupFormDoneScript, which will be called each time a page is turned to (except when printing).
  2252. ",
  2253.     styles: [11, s2, 19, s5, 41, s2, 23, s5, 78, s2],
  2254.     layout: 8192
  2255. };
  2256. book.contents[208] := c209;
  2257.  
  2258. c210 := {
  2259.     data: "Reserved Slot Names:",
  2260.     viewFont: s13, 
  2261.     name: "reserved_names"
  2262. };
  2263. book.contents[209] := c210;
  2264.  
  2265. c211 := {
  2266.     data: "    type
  2267.     data
  2268.     related
  2269.     look
  2270.     layout
  2271.     edgewidth
  2272.     flags
  2273.     printing
  2274.     scripts
  2275.     contentarea
  2276.     cupage
  2277.     bookref
  2278.     browser
  2279.     curRendering
  2280.     kioskDest
  2281. ",
  2282.     styles: [136, s5, 1, s2],
  2283.     layout: 8192
  2284. };
  2285. book.contents[210] := c211;
  2286.  
  2287. c212 := {
  2288.     data: "Dynamic List Browsers",
  2289.     viewFont: s13, 
  2290.     name: "dynamic_browsers"
  2291. };
  2292. book.contents[211] := c212;
  2293.  
  2294. c213 := {
  2295.     data: "You can add your own browsers to the Book Reader overview. A typical use might be to display the results of a custom search — the user could keep the browser open and navigate between hits. The structure of a list browser frame is:
  2296.  
  2297.     browser := {
  2298.         name: \"Restaurants\",    // Name of browser
  2299.         list: […]        // Topics
  2300.     };
  2301.     
  2302. Entries in the list array are in the form:
  2303.  
  2304.         {item: content, level: 2}
  2305. or
  2306.         {item: content, level: 2, name: \"Important Stuff\"}
  2307.  
  2308. Where content is a Content within the book (e.g. returned by :F"&"indContentByValue()). The level slot can be omitted; it defaults to 1. A name slot is the topic’s text in the outline. If this is omitted, the text of the Content will be used (entries for non-text Contents must have a name slot). 
  2309.  
  2310. If the hilite slot is present in the browser frame, the content (item) is hilighted after turning to its page.
  2311.  
  2312. There’s currently no way to remove a browser.
  2313. ",
  2314.     styles: [233, s2, 83, s9, 46, s2, 28, s9, 3, s2, 53, s9, 62, s2, 21, s5, 54, s2, 4, s5, 163, s2, 6, s5, 52, s2, 4, s5, 90, s2],
  2315.     layout: 8192
  2316. };
  2317. book.contents[212] := c213;
  2318.  
  2319. c214 := {
  2320.     data: "Useful Functions",
  2321.     viewFont: s8,
  2322.     layout: 3, 
  2323.     name: "functions"
  2324. };
  2325. book.contents[213] := c214;
  2326.  
  2327. c215 := {
  2328.     data: "AddBookmark (pageNumber)",
  2329.     styles: [11, s10, 2, s5, 10, s14, 2, s5],
  2330.     layout: 8195
  2331. };
  2332. book.contents[214] := c215;
  2333.  
  2334. c216 := {
  2335.     data: "Adds a bookmark at pageNumber for the current book. A book may have only six bookmarks. There’s currently no way for a user to remove a bookmark.
  2336. ",
  2337.     styles: [19, s2, 10, s16, 118, s2],
  2338.     layout: 8192
  2339. };
  2340. book.contents[215] := c216;
  2341.  
  2342. c217 := {
  2343.     data: "AuthorData ( )",
  2344.     styles: [11, s10, 4, s5],
  2345.     layout: 3
  2346. };
  2347. book.contents[216] := c217;
  2348.  
  2349. c218 := {
  2350.     data: "Returns the ref of a RAM based frame in which book script authors may put data they want stored internal to the Newton. For example, preferences data. This data is maintained even after the book has been removed.
  2351.  
  2352. CAUTION: Do not put in this frame any data that is resident in the book itself. Since books might be removed at any time, any copied data could in fact render the entire data frame invalid.
  2353. ",
  2354.     styles: [214, s2, 7, s11, 184, s2],
  2355.     layout: 8192
  2356. };
  2357. book.contents[217] := c218;
  2358.  
  2359. c219 := {
  2360.     data: "BookData ( )",
  2361.     styles: [9, s10, 4, s5],
  2362.     layout: 3
  2363. };
  2364. book.contents[218] := c219;
  2365.  
  2366. c220 := {
  2367.     data: "Returns the ref of the data frame in which book script authors should put any of their own special data. This data is added at compile time and becomes part of the book itself. Any frames kept here are to be considered read-only at run-time.
  2368.  
  2369. The index dot command also puts their alphaIndex and subIndex arrays here. 
  2370. ",
  2371.     styles: [281, s2, 10, s5, 5, s2, 8, s5, 16, s2],
  2372.     layout: 8192
  2373. };
  2374. book.contents[219] := c220;
  2375.  
  2376. c221 := {
  2377.     data: "Bookmarks ( )",
  2378.     styles: [9, s10, 5, s5],
  2379.     layout: 3
  2380. };
  2381. book.contents[220] := c221;
  2382.  
  2383. c222 := {
  2384.     data: "Returns for the current book, an array of bookmarks.
  2385.  
  2386.     [number, ...]
  2387. ",
  2388.     styles: [54, s2, 15, s9, 1, s2],
  2389.     layout: 8192
  2390. };
  2391. book.contents[221] := c222;
  2392.  
  2393. c223 := {
  2394.     data: "BookTitle ( )",
  2395.     styles: [9, s10, 5, s5],
  2396.     layout: 3
  2397. };
  2398. book.contents[222] := c223;
  2399.  
  2400. c224 := {
  2401.     data: "Returns the title of the current book.
  2402. ",
  2403.     viewFont: s2,
  2404.     layout: 8192
  2405. };
  2406. book.contents[223] := c224;
  2407.  
  2408. c225 := {
  2409.     data: "CountPages ( )",
  2410.     styles: [10, s10, 5, s5],
  2411.     layout: 3
  2412. };
  2413. book.contents[224] := c225;
  2414.  
  2415. c226 := {
  2416.     data: "Returns the number in pages of the current book.
  2417. ",
  2418.     viewFont: s2,
  2419.     layout: 8192
  2420. };
  2421. book.contents[225] := c226;
  2422.  
  2423. c227 := {
  2424.     data: "CurrentPage ( )",
  2425.     styles: [11, s10, 5, s5],
  2426.     layout: 3
  2427. };
  2428. book.contents[226] := c227;
  2429.  
  2430. c228 := {
  2431.     data: "Returns the current page of the current book.
  2432. ",
  2433.     viewFont: s2,
  2434.     layout: 8192
  2435. };
  2436. book.contents[227] := c228;
  2437.  
  2438. c229 := {
  2439.     data: "Find (string, results, scope, statusContext )",
  2440.     styles: [4, s10, 2, s5, 6, s14, 2, s5, 7, s14, 2, s5, 5, s14, 2, s5, 14, s14, 2, s5],
  2441.     layout: 3
  2442. };
  2443. book.contents[228] := c229;
  2444.  
  2445. c230 := {
  2446.     data: "Searches for string in the current book. Scope is the symbol 'localFind if the search should be done in the current book, 'globalFind if in all books. Returns in results an array with an element for each book string was found in. Each element contains the following frame:
  2447.  
  2448. {title: \"book_title\",
  2449. items: [
  2450.     {title: \"string_found\", 
  2451.     isbn: book_isbn,
  2452.     found: {
  2453.         len: stringLength,
  2454.         item: theContent,
  2455.         char: starting_char},
  2456.     {…}}]}
  2457. ",
  2458.     styles: [13, s2, 6, s5, 22, s2, 5, s5, 15, s2, 10, s5, 51, s2, 11, s5, 29, s2, 7, s5, 105, s2, 158, s9, 1, s2],
  2459.     layout: 8192
  2460. };
  2461. book.contents[229] := c230;
  2462.  
  2463. c231 := {
  2464.     data: "FindContentBySlot (aSymbol, NIL)",
  2465.     styles: [17, s10, 2, s5, 7, s14, 7, s5],
  2466.     layout: 3
  2467. };
  2468. book.contents[230] := c231;
  2469.  
  2470. c232 := {
  2471.     data: "Returns an array of  contents which contain a slot aSymbol.
  2472. ",
  2473.     styles: [51, s2, 7, s5, 3, s2],
  2474.     layout: 8192
  2475. };
  2476. book.contents[231] := c232;
  2477.  
  2478. c233 := {
  2479.     data: "FindContentByValue (aSymbol, aValue, NIL)",
  2480.     styles: [18, s10, 2, s5, 7, s14, 2, s5, 6, s14, 7, s5],
  2481.     layout: 3
  2482. };
  2483. book.contents[232] := c233;
  2484.  
  2485. c234 := {
  2486.     data: "Returns an array of  contents which contain a slot whose symbol is aSymbol and a value of aValue.
  2487. ",
  2488.     styles: [67, s2, 7, s5, 16, s2, 6, s5, 3, s2],
  2489.     layout: 8192
  2490. };
  2491. book.contents[233] := c234;
  2492.  
  2493. c235 := {
  2494.     data: "FindPageByContent (aContent, anOffset, NIL)",
  2495.     styles: [17, s10, 2, s5, 8, s14, 2, s5, 8, s14, 7, s5],
  2496.     layout: 3
  2497. };
  2498. book.contents[234] := c235;
  2499.  
  2500. c236 := {
  2501.     data: "FindPageByContent finds the page that the characters of aContent at anOffset can be found on. (Note that Contents are frequently split between pages.)
  2502. ",
  2503.     styles: [17, s5, 39, s2, 8, s5, 4, s2, 8, s5, 76, s2],
  2504.     layout: 8192
  2505. };
  2506. book.contents[235] := c236;
  2507.  
  2508. c237 := {
  2509.     data: "FindPageByValue (aSymbol, aValue, NIL)",
  2510.     styles: [15, s10, 2, s5, 7, s14, 2, s5, 6, s14, 7, s5],
  2511.     layout: 3
  2512. };
  2513. book.contents[236] := c237;
  2514.  
  2515. c238 := {
  2516.     data: "Returns an array of  pages which contain contents with a slot whose symbol is aSymbol and a value of aValue.
  2517. ",
  2518.     styles: [78, s2, 7, s5, 16, s2, 6, s5, 3, s2],
  2519.     layout: 8192
  2520. };
  2521. book.contents[237] := c238;
  2522.  
  2523. c239 := {
  2524.     data: "HiliteBlock (aBlock, anOffset, aLen)",
  2525.     styles: [11, s10, 2, s5, 6, s14, 2, s5, 8, s14, 2, s5, 4, s14, 2, s5],
  2526.     layout: 3
  2527. };
  2528. book.contents[238] := c239;
  2529.  
  2530. c240 := {
  2531.     data: "Hilites the item (usually text) contained in the block, aBlock at the offset anOffset and with a length of aLen.
  2532. ",
  2533.     styles: [56, s2, 6, s5, 15, s2, 8, s5, 22, s2, 4, s5, 3, s2],
  2534.     layout: 8192
  2535. };
  2536. book.contents[239] := c240;
  2537.  
  2538. c241 := {
  2539.     data: "HideStoryCard ( )",
  2540.     styles: [13, s10, 5, s5],
  2541.     layout: 3
  2542. };
  2543. book.contents[240] := c241;
  2544.  
  2545. c242 := {
  2546.     data: "Hides the currently displayed story card.
  2547. ",
  2548.     viewFont: s2,
  2549.     layout: 8192
  2550. };
  2551. book.contents[241] := c242;
  2552.  
  2553. c243 := {
  2554.     data: "InsertForm (aForm)",
  2555.     styles: [10, s10, 2, s5, 5, s14, 2, s5],
  2556.     layout: 3
  2557. };
  2558. book.contents[242] := c243;
  2559.  
  2560. c244 := {
  2561.     data: "Adds a form specified in aForm to the current page.
  2562. ",
  2563.     styles: [25, s2, 5, s5, 23, s2],
  2564.     layout: 8192
  2565. };
  2566. book.contents[243] := c244;
  2567.  
  2568. c245 := {
  2569.     data: "PageThumbnail (aPage)",
  2570.     styles: [13, s10, 2, s5, 5, s14, 2, s5],
  2571.     layout: 3
  2572. };
  2573. book.contents[244] := c245;
  2574.  
  2575. c246 := {
  2576.     data: "Creates a thumbnail bitmap view of aPage at one-quarter size. Returns a frame containing:
  2577.  
  2578. {bits: <page÷8>, bounds: {}}
  2579. ",
  2580.     styles: [35, s2, 5, s5, 51, s2, 29, s9, 1, s2],
  2581.     layout: 8192
  2582. };
  2583. book.contents[245] := c246;
  2584.  
  2585. c247 := {
  2586.     data: "PreviousPage ( )",
  2587.     styles: [12, s10, 5, s5],
  2588.     layout: 3
  2589. };
  2590. book.contents[246] := c247;
  2591.  
  2592. c248 := {
  2593.     data: "Returns the previous page the current book was at.
  2594. ",
  2595.     viewFont: s2,
  2596.     layout: 8192
  2597. };
  2598. book.contents[247] := c248;
  2599.  
  2600. c249 := {
  2601.     data: "ScrollPage (aDelta )",
  2602.     styles: [10, s10, 2, s5, 7, s14, 2, s5],
  2603.     layout: 3
  2604. };
  2605. book.contents[248] := c249;
  2606.  
  2607. c250 := {
  2608.     data: "Go forward or back aDelta number of pages from the current page. aDelta of zero causes the current page to be redrawn.
  2609. ",
  2610.     styles: [19, s2, 6, s5, 40, s2, 6, s5, 49, s2],
  2611.     layout: 8192
  2612. };
  2613. book.contents[249] := c250;
  2614.  
  2615. c251 := {
  2616.     data: "ShowStoryCard (aSymbol, aValue, aBounds )",
  2617.     styles: [13, s10, 2, s5, 7, s14, 2, s5, 6, s14, 2, s5, 8, s14, 2, s5],
  2618.     layout: 3
  2619. };
  2620. book.contents[250] := c251;
  2621.  
  2622. c252 := {
  2623.     data: "Shows a window at-and-of  aBounds with using the content that has a slot whose symbol is aSymbol and a value of aValue. Content can any type of content including stories and pictures. There can only be one story card displayed at a time. Note that the story card data is found by Book Reader by searching the book for the proper content. Thus, defining story card contents at the beginning of the file will result in faster display.
  2624. ",
  2625.     styles: [26, s2, 7, s5, 56, s2, 7, s5, 16, s2, 6, s5, 316, s2],
  2626.     layout: 8192
  2627. };
  2628. book.contents[251] := c252;
  2629.  
  2630. c253 := {
  2631.     data: "TurnToContent (aSymbol, aValue )",
  2632.     styles: [13, s10, 2, s5, 7, s14, 2, s5, 7, s14, 2, s5],
  2633.     layout: 3
  2634. };
  2635. book.contents[252] := c253;
  2636.  
  2637. c254 := {
  2638.     data: "Turns to the first page containing a content that has a slot whose symbol is aSymbol and a value of aValue.
  2639. ",
  2640.     styles: [77, s2, 7, s5, 16, s2, 6, s5, 3, s2],
  2641.     layout: 8192
  2642. };
  2643. book.contents[253] := c254;
  2644.  
  2645. c255 := {
  2646.     data: "TurnToPage (aPage )",
  2647.     styles: [10, s10, 2, s5, 6, s14, 2, s5],
  2648.     layout: 3
  2649. };
  2650. book.contents[254] := c255;
  2651.  
  2652. c256 := {
  2653.     data: "Turn to the page number specified in aPage.",
  2654.     styles: [37, s2, 5, s5, 2, s2],
  2655.     layout: 8192
  2656. };
  2657. book.contents[255] := c256;
  2658.  
  2659.  
  2660. // Kiosk references
  2661. AddArraySlot(c5.scripts, 'kioskDest);
  2662. AddArraySlot(c5.scripts, c24);
  2663. AddArraySlot(c5.scripts, 'destPage);
  2664. AddArraySlot(c5.scripts, 3);
  2665.  
  2666. AddArraySlot(c6.scripts, 'kioskDest);
  2667. AddArraySlot(c6.scripts, c26);
  2668. AddArraySlot(c6.scripts, 'destPage);
  2669. AddArraySlot(c6.scripts, 4);
  2670.  
  2671. AddArraySlot(c7.scripts, 'kioskDest);
  2672. AddArraySlot(c7.scripts, c28);
  2673. AddArraySlot(c7.scripts, 'destPage);
  2674. AddArraySlot(c7.scripts, 8);
  2675.  
  2676. AddArraySlot(c8.scripts, 'kioskDest);
  2677. AddArraySlot(c8.scripts, c41);
  2678. AddArraySlot(c8.scripts, 'destPage);
  2679. AddArraySlot(c8.scripts, 9);
  2680.  
  2681. AddArraySlot(c9.scripts, 'kioskDest);
  2682. AddArraySlot(c9.scripts, c43);
  2683. AddArraySlot(c9.scripts, 'destPage);
  2684. AddArraySlot(c9.scripts, 10);
  2685.  
  2686. AddArraySlot(c10.scripts, 'kioskDest);
  2687. AddArraySlot(c10.scripts, c55);
  2688. AddArraySlot(c10.scripts, 'destPage);
  2689. AddArraySlot(c10.scripts, 10);
  2690.  
  2691. AddArraySlot(c11.scripts, 'kioskDest);
  2692. AddArraySlot(c11.scripts, c80);
  2693. AddArraySlot(c11.scripts, 'destPage);
  2694. AddArraySlot(c11.scripts, 15);
  2695.  
  2696. AddArraySlot(c12.scripts, 'kioskDest);
  2697. AddArraySlot(c12.scripts, c105);
  2698. AddArraySlot(c12.scripts, 'destPage);
  2699. AddArraySlot(c12.scripts, 23);
  2700.  
  2701. AddArraySlot(c13.scripts, 'kioskDest);
  2702. AddArraySlot(c13.scripts, c108);
  2703. AddArraySlot(c13.scripts, 'destPage);
  2704. AddArraySlot(c13.scripts, 23);
  2705.  
  2706. AddArraySlot(c14.scripts, 'kioskDest);
  2707. AddArraySlot(c14.scripts, c117);
  2708. AddArraySlot(c14.scripts, 'destPage);
  2709. AddArraySlot(c14.scripts, 26);
  2710.  
  2711. AddArraySlot(c15.scripts, 'kioskDest);
  2712. AddArraySlot(c15.scripts, c128);
  2713. AddArraySlot(c15.scripts, 'destPage);
  2714. AddArraySlot(c15.scripts, 28);
  2715.  
  2716. AddArraySlot(c16.scripts, 'kioskDest);
  2717. AddArraySlot(c16.scripts, c195);
  2718. AddArraySlot(c16.scripts, 'destPage);
  2719. AddArraySlot(c16.scripts, 33);
  2720.  
  2721. AddArraySlot(c17.scripts, 'kioskDest);
  2722. AddArraySlot(c17.scripts, c196);
  2723. AddArraySlot(c17.scripts, 'destPage);
  2724. AddArraySlot(c17.scripts, 33);
  2725.  
  2726. AddArraySlot(c18.scripts, 'kioskDest);
  2727. AddArraySlot(c18.scripts, c201);
  2728. AddArraySlot(c18.scripts, 'destPage);
  2729. AddArraySlot(c18.scripts, 37);
  2730.  
  2731. AddArraySlot(c19.scripts, 'kioskDest);
  2732. AddArraySlot(c19.scripts, c207);
  2733. AddArraySlot(c19.scripts, 'destPage);
  2734. AddArraySlot(c19.scripts, 39);
  2735.  
  2736. AddArraySlot(c20.scripts, 'kioskDest);
  2737. AddArraySlot(c20.scripts, c208);
  2738. AddArraySlot(c20.scripts, 'destPage);
  2739. AddArraySlot(c20.scripts, 39);
  2740.  
  2741. AddArraySlot(c21.scripts, 'kioskDest);
  2742. AddArraySlot(c21.scripts, c210);
  2743. AddArraySlot(c21.scripts, 'destPage);
  2744. AddArraySlot(c21.scripts, 40);
  2745.  
  2746. AddArraySlot(c22.scripts, 'kioskDest);
  2747. AddArraySlot(c22.scripts, c212);
  2748. AddArraySlot(c22.scripts, 'destPage);
  2749. AddArraySlot(c22.scripts, 41);
  2750.  
  2751. AddArraySlot(c23.scripts, 'kioskDest);
  2752. AddArraySlot(c23.scripts, c214);
  2753. AddArraySlot(c23.scripts, 'destPage);
  2754. AddArraySlot(c23.scripts, 43);
  2755.  
  2756. AddArraySlot(c45.scripts, 'kioskDest);
  2757. AddArraySlot(c45.scripts, c55);
  2758. AddArraySlot(c45.scripts, 'destPage);
  2759. AddArraySlot(c45.scripts, 10);
  2760.  
  2761. AddArraySlot(c46.scripts, 'kioskDest);
  2762. AddArraySlot(c46.scripts, c55);
  2763. AddArraySlot(c46.scripts, 'destPage);
  2764. AddArraySlot(c46.scripts, 10);
  2765.  
  2766. AddArraySlot(c47.scripts, 'kioskDest);
  2767. AddArraySlot(c47.scripts, c80);
  2768. AddArraySlot(c47.scripts, 'destPage);
  2769. AddArraySlot(c47.scripts, 15);
  2770.  
  2771. AddArraySlot(c48.scripts, 'kioskDest);
  2772. AddArraySlot(c48.scripts, c80);
  2773. AddArraySlot(c48.scripts, 'destPage);
  2774. AddArraySlot(c48.scripts, 15);
  2775.  
  2776. AddArraySlot(c49.scripts, 'kioskDest);
  2777. AddArraySlot(c49.scripts, c105);
  2778. AddArraySlot(c49.scripts, 'destPage);
  2779. AddArraySlot(c49.scripts, 23);
  2780.  
  2781. AddArraySlot(c50.scripts, 'kioskDest);
  2782. AddArraySlot(c50.scripts, c105);
  2783. AddArraySlot(c50.scripts, 'destPage);
  2784. AddArraySlot(c50.scripts, 23);
  2785.  
  2786. AddArraySlot(c51.scripts, 'kioskDest);
  2787. AddArraySlot(c51.scripts, c108);
  2788. AddArraySlot(c51.scripts, 'destPage);
  2789. AddArraySlot(c51.scripts, 23);
  2790.  
  2791. AddArraySlot(c52.scripts, 'kioskDest);
  2792. AddArraySlot(c52.scripts, c108);
  2793. AddArraySlot(c52.scripts, 'destPage);
  2794. AddArraySlot(c52.scripts, 23);
  2795.  
  2796. AddArraySlot(c53.scripts, 'kioskDest);
  2797. AddArraySlot(c53.scripts, c117);
  2798. AddArraySlot(c53.scripts, 'destPage);
  2799. AddArraySlot(c53.scripts, 26);
  2800.  
  2801. AddArraySlot(c54.scripts, 'kioskDest);
  2802. AddArraySlot(c54.scripts, c117);
  2803. AddArraySlot(c54.scripts, 'destPage);
  2804. AddArraySlot(c54.scripts, 26);
  2805.  
  2806.  
  2807. // Page Templates
  2808. Default := {
  2809.     nColumns: 1,
  2810.     column: [{
  2811.     width: 12,
  2812.     type: 0}]
  2813. };
  2814. AddArraySlot(book.templates, Default);
  2815. Indented := {
  2816.     nColumns: 2,
  2817.     column: [{
  2818.     width: 1,
  2819.     type: 1}, {
  2820.     width: 11,
  2821.     type: 0}]
  2822. };
  2823. AddArraySlot(book.templates, Indented);
  2824. TitlePage := {
  2825.     nColumns: 1,
  2826.     column: [{
  2827.     width: 12,
  2828.     type: 0}],
  2829.     flags: 8
  2830. };
  2831. AddArraySlot(book.templates, TitlePage);
  2832. ContentsPage := {
  2833.     nColumns: 2,
  2834.     column: [{
  2835.     width: 2,
  2836.     type: 1}, {
  2837.     width: 10,
  2838.     type: 0}],
  2839.     flags: 8
  2840. };
  2841. AddArraySlot(book.templates, ContentsPage);
  2842. Default := {
  2843.     nColumns: 1,
  2844.     column: [{
  2845.     width: 12,
  2846.     type: 0}]
  2847. };
  2848. AddArraySlot(book.templates, Default);
  2849.  
  2850. // Bounds List
  2851. bnd1 := [0,0,240,36];
  2852. bnd2 := [0,36,240,249];
  2853. bnd3 := [0,0,240,25];
  2854. bnd4 := [44,25,240,38];
  2855. bnd5 := [44,38,240,51];
  2856. bnd6 := [44,51,240,64];
  2857. bnd7 := [44,64,240,77];
  2858. bnd8 := [44,77,240,90];
  2859. bnd9 := [44,90,240,102];
  2860. bnd10 := [44,102,240,114];
  2861. bnd11 := [44,114,240,126];
  2862. bnd12 := [44,126,240,138];
  2863. bnd13 := [44,138,240,150];
  2864. bnd14 := [44,150,240,187];
  2865. bnd15 := [44,187,240,200];
  2866. bnd16 := [44,200,240,212];
  2867. bnd17 := [44,212,240,224];
  2868. bnd18 := [44,224,240,237];
  2869. bnd19 := [44,237,240,249];
  2870. bnd20 := [44,249,240,261];
  2871. bnd21 := [44,261,240,273];
  2872. bnd22 := [44,273,240,318];
  2873. bnd23 := [0,16,240,39];
  2874. bnd24 := [0,39,240,318];
  2875. bnd25 := [0,16,240,40];
  2876. bnd26 := [0,40,240,63];
  2877. bnd27 := [0,63,240,318];
  2878. bnd28 := [0,16,240,318];
  2879. bnd29 := [0,39,20,51];
  2880. bnd30 := [24,39,240,63];
  2881. bnd31 := [0,63,20,75];
  2882. bnd32 := [24,63,240,87];
  2883. bnd33 := [0,87,20,99];
  2884. bnd34 := [24,87,240,171];
  2885. bnd35 := [0,171,20,183];
  2886. bnd36 := [24,171,240,195];
  2887. bnd37 := [0,195,20,207];
  2888. bnd38 := [24,195,240,219];
  2889. bnd39 := [0,219,20,231];
  2890. bnd40 := [24,219,240,318];
  2891. bnd41 := [0,39,240,63];
  2892. bnd42 := [24,63,240,111];
  2893. bnd43 := [0,111,20,123];
  2894. bnd44 := [24,111,240,159];
  2895. bnd45 := [0,159,20,171];
  2896. bnd46 := [24,159,240,183];
  2897. bnd47 := [0,183,20,195];
  2898. bnd48 := [24,183,240,231];
  2899. bnd49 := [0,231,20,243];
  2900. bnd50 := [24,231,240,267];
  2901. bnd51 := [0,267,240,286];
  2902. bnd52 := [0,286,240,299];
  2903. bnd53 := [24,299,240,318];
  2904. bnd54 := [24,16,240,209];
  2905. bnd55 := [0,209,240,222];
  2906. bnd56 := [24,222,240,271];
  2907. bnd57 := [0,271,240,284];
  2908. bnd58 := [24,284,240,318];
  2909. bnd59 := [24,16,240,40];
  2910. bnd60 := [0,40,240,53];
  2911. bnd61 := [24,53,240,197];
  2912. bnd62 := [0,197,240,210];
  2913. bnd63 := [24,210,240,282];
  2914. bnd64 := [0,282,240,295];
  2915. bnd65 := [24,295,240,318];
  2916. bnd66 := [24,16,240,88];
  2917. bnd67 := [0,88,240,101];
  2918. bnd68 := [24,101,240,233];
  2919. bnd69 := [0,233,240,246];
  2920. bnd70 := [24,246,240,318];
  2921. bnd71 := [0,16,240,29];
  2922. bnd72 := [24,29,240,161];
  2923. bnd73 := [0,161,240,174];
  2924. bnd74 := [24,174,240,246];
  2925. bnd75 := [0,246,240,259];
  2926. bnd76 := [24,259,240,318];
  2927. bnd77 := [24,16,240,52];
  2928. bnd78 := [0,52,240,65];
  2929. bnd79 := [24,65,240,125];
  2930. bnd80 := [0,125,240,144];
  2931. bnd81 := [0,144,240,157];
  2932. bnd82 := [24,157,240,318];
  2933. bnd83 := [0,16,240,42];
  2934. bnd84 := [24,42,240,127];
  2935. bnd85 := [0,127,240,153];
  2936. bnd86 := [24,153,240,318];
  2937. bnd87 := [24,29,240,318];
  2938. bnd88 := [24,65,240,102];
  2939. bnd89 := [0,102,240,115];
  2940. bnd90 := [24,115,240,318];
  2941. bnd91 := [24,29,240,139];
  2942. bnd92 := [0,139,240,178];
  2943. bnd93 := [24,178,240,318];
  2944. bnd94 := [24,16,240,208];
  2945. bnd95 := [0,208,240,221];
  2946. bnd96 := [24,221,240,318];
  2947. bnd97 := [24,16,240,197];
  2948. bnd98 := [24,210,240,247];
  2949. bnd99 := [0,247,240,273];
  2950. bnd100 := [24,273,240,318];
  2951. bnd101 := [24,16,240,112];
  2952. bnd102 := [0,112,240,138];
  2953. bnd103 := [24,138,240,318];
  2954. bnd104 := [24,16,240,55];
  2955. bnd105 := [0,55,240,74];
  2956. bnd106 := [0,74,240,87];
  2957. bnd107 := [24,87,240,243];
  2958. bnd108 := [0,243,240,262];
  2959. bnd109 := [0,262,240,286];
  2960. bnd110 := [24,286,240,318];
  2961. bnd111 := [24,16,240,318];
  2962. bnd112 := [0,88,240,100];
  2963. bnd113 := [24,100,240,172];
  2964. bnd114 := [0,172,240,184];
  2965. bnd115 := [24,184,240,244];
  2966. bnd116 := [0,244,240,256];
  2967. bnd117 := [24,256,240,318];
  2968. bnd118 := [24,16,240,149];
  2969. bnd119 := [0,149,240,168];
  2970. bnd120 := [0,168,240,180];
  2971. bnd121 := [24,180,240,240];
  2972. bnd122 := [0,240,240,252];
  2973. bnd123 := [24,252,240,318];
  2974. bnd124 := [0,16,240,28];
  2975. bnd125 := [24,28,240,208];
  2976. bnd126 := [0,208,240,220];
  2977. bnd127 := [24,220,240,318];
  2978. bnd128 := [24,28,240,149];
  2979. bnd129 := [0,149,240,172];
  2980. bnd130 := [0,172,240,208];
  2981. bnd131 := [0,208,240,227];
  2982. bnd132 := [0,227,240,239];
  2983. bnd133 := [24,239,240,263];
  2984. bnd134 := [0,263,240,275];
  2985. bnd135 := [24,275,240,318];
  2986. bnd136 := [0,16,240,35];
  2987. bnd137 := [0,35,240,48];
  2988. bnd138 := [24,48,240,72];
  2989. bnd139 := [0,72,240,85];
  2990. bnd140 := [24,85,240,97];
  2991. bnd141 := [0,97,240,110];
  2992. bnd142 := [24,110,240,134];
  2993. bnd143 := [0,134,240,147];
  2994. bnd144 := [24,147,240,159];
  2995. bnd145 := [0,159,240,172];
  2996. bnd146 := [24,172,240,196];
  2997. bnd147 := [0,196,240,209];
  2998. bnd148 := [24,209,240,221];
  2999. bnd149 := [0,221,240,234];
  3000. bnd150 := [24,234,240,246];
  3001. bnd151 := [24,259,240,271];
  3002. bnd152 := [24,29,240,41];
  3003. bnd153 := [0,41,240,54];
  3004. bnd154 := [24,54,240,78];
  3005. bnd155 := [0,78,240,91];
  3006. bnd156 := [24,91,240,115];
  3007. bnd157 := [0,115,240,128];
  3008. bnd158 := [24,128,240,152];
  3009. bnd159 := [0,152,240,165];
  3010. bnd160 := [24,165,240,177];
  3011. bnd161 := [0,177,240,190];
  3012. bnd162 := [24,190,240,214];
  3013. bnd163 := [0,214,240,227];
  3014. bnd164 := [24,227,240,239];
  3015. bnd165 := [0,239,240,252];
  3016. bnd166 := [24,252,240,288];
  3017. bnd167 := [0,288,240,301];
  3018. bnd168 := [24,301,240,318];
  3019. bnd169 := [24,54,240,66];
  3020. bnd170 := [0,66,240,79];
  3021. bnd171 := [24,79,240,91];
  3022. bnd172 := [0,91,240,104];
  3023. bnd173 := [24,104,240,116];
  3024. bnd174 := [0,116,240,129];
  3025. bnd175 := [24,129,240,141];
  3026. bnd176 := [0,141,240,154];
  3027. bnd177 := [24,154,240,178];
  3028. bnd178 := [0,178,240,250];
  3029. bnd179 := [0,250,240,263];
  3030. bnd180 := [24,263,240,318];
  3031. bnd181 := [24,54,240,90];
  3032. bnd182 := [0,90,240,103];
  3033. bnd183 := [24,103,240,139];
  3034. bnd184 := [0,139,240,152];
  3035. bnd185 := [24,152,240,318];
  3036. bnd186 := [0,39,240,58];
  3037. bnd187 := [0,58,240,318];
  3038. bnd188 := [0,16,240,112];
  3039. bnd189 := [0,112,35,147];
  3040. bnd190 := [0,147,240,318];
  3041. bnd191 := [0,16,240,136];
  3042. bnd192 := [0,136,240,155];
  3043. bnd193 := [0,155,240,318];
  3044. bnd194 := [0,16,240,76];
  3045. bnd195 := [0,76,73,115];
  3046. bnd196 := [0,115,240,318];
  3047. bnd197 := [45,16,195,223];
  3048. bnd198 := [0,223,240,235];
  3049. bnd199 := [0,235,240,281];
  3050. bnd200 := [0,281,240,300];
  3051. bnd201 := [0,300,240,318];
  3052. bnd202 := [0,16,240,77];
  3053. bnd203 := [0,77,240,96];
  3054. bnd204 := [0,96,240,318];
  3055. bnd205 := [0,35,240,318];
  3056. bnd206 := [0,39,240,52];
  3057. bnd207 := [24,52,240,124];
  3058. bnd208 := [0,124,240,137];
  3059. bnd209 := [24,137,240,293];
  3060. bnd210 := [0,293,240,306];
  3061. bnd211 := [24,306,240,318];
  3062. bnd212 := [24,16,240,137];
  3063. bnd213 := [0,137,240,150];
  3064. bnd214 := [24,150,240,210];
  3065. bnd215 := [0,210,240,223];
  3066. bnd216 := [24,223,240,247];
  3067. bnd217 := [0,247,240,260];
  3068. bnd218 := [24,260,240,318];
  3069. bnd219 := [24,29,240,65];
  3070. bnd220 := [0,65,240,78];
  3071. bnd221 := [24,78,240,318];
  3072. bnd222 := [24,29,240,66];
  3073. bnd223 := [24,79,240,129];
  3074. bnd224 := [0,129,240,142];
  3075. bnd225 := [24,142,240,204];
  3076. bnd226 := [0,204,240,217];
  3077. bnd227 := [24,217,240,266];
  3078. bnd228 := [0,266,240,279];
  3079. bnd229 := [24,279,240,318];
  3080. bnd230 := [24,78,240,115];
  3081. bnd231 := [24,128,240,201];
  3082. bnd232 := [0,201,240,214];
  3083. bnd233 := [24,214,240,250];
  3084. bnd234 := [24,29,240,187];
  3085. bnd235 := [0,187,240,200];
  3086. bnd236 := [24,200,240,249];
  3087. bnd237 := [0,249,240,262];
  3088. bnd238 := [24,262,240,287];
  3089.  
  3090. // Pages
  3091. pageList := {pageSize: {left: 0, top: 0, right: 240, bottom: 336},
  3092.     contents: [], pages: []};
  3093.  
  3094. // Page 1
  3095. page := {template: TitlePage, blocks: []};
  3096. AddArraySlot(page.blocks,
  3097.     {bounds: bnd1,
  3098.     item: c2});
  3099. AddArraySlot(page.blocks,
  3100.     {bounds: bnd2,
  3101.     item: c3});
  3102. AddArraySlot(pageList.pages, page);
  3103.  
  3104. // Page 2
  3105. page := {template: ContentsPage, blocks: []};
  3106. AddArraySlot(page.blocks,
  3107.     {bounds: bnd3,
  3108.     item: c4});
  3109. AddArraySlot(page.blocks,
  3110.     {bounds: bnd4,
  3111.     item: c5});
  3112. AddArraySlot(page.blocks,
  3113.     {bounds: bnd5,
  3114.     item: c6});
  3115. AddArraySlot(page.blocks,
  3116.     {bounds: bnd6,
  3117.     item: c7});
  3118. AddArraySlot(page.blocks,
  3119.     {bounds: bnd7,
  3120.     item: c8});
  3121. AddArraySlot(page.blocks,
  3122.     {bounds: bnd8,
  3123.     item: c9});
  3124. AddArraySlot(page.blocks,
  3125.     {bounds: bnd9,
  3126.     item: c10});
  3127. AddArraySlot(page.blocks,
  3128.     {bounds: bnd10,
  3129.     item: c11});
  3130. AddArraySlot(page.blocks,
  3131.     {bounds: bnd11,
  3132.     item: c12});
  3133. AddArraySlot(page.blocks,
  3134.     {bounds: bnd12,
  3135.     item: c13});
  3136. AddArraySlot(page.blocks,
  3137.     {bounds: bnd13,
  3138.     item: c14});
  3139. AddArraySlot(page.blocks,
  3140.     {bounds: bnd14,
  3141.     item: c15});
  3142. AddArraySlot(page.blocks,
  3143.     {bounds: bnd15,
  3144.     item: c16});
  3145. AddArraySlot(page.blocks,
  3146.     {bounds: bnd16,
  3147.     item: c17});
  3148. AddArraySlot(page.blocks,
  3149.     {bounds: bnd17,
  3150.     item: c18});
  3151. AddArraySlot(page.blocks,
  3152.     {bounds: bnd18,
  3153.     item: c19});
  3154. AddArraySlot(page.blocks,
  3155.     {bounds: bnd19,
  3156.     item: c20});
  3157. AddArraySlot(page.blocks,
  3158.     {bounds: bnd20,
  3159.     item: c21});
  3160. AddArraySlot(page.blocks,
  3161.     {bounds: bnd21,
  3162.     item: c22});
  3163. AddArraySlot(page.blocks,
  3164.     {bounds: bnd22,
  3165.     item: c23});
  3166. AddArraySlot(pageList.pages, page);
  3167.  
  3168. // Page 3
  3169. page := {template: Default, blocks: []};
  3170. AddArraySlot(page.blocks,
  3171.     {bounds: bnd23,
  3172.     item: c24});
  3173. AddArraySlot(page.blocks,
  3174.     {bounds: bnd24,
  3175.     item: c25,
  3176.     dataLen: 944});
  3177. AddArraySlot(pageList.pages, page);
  3178.  
  3179. // Page 4
  3180. page := {template: Default, blocks: []};
  3181. AddArraySlot(page.blocks,
  3182.     {bounds: bnd25,
  3183.     item: c25,
  3184.     dataOffset: 944,
  3185.     dataLen: 35});
  3186. AddArraySlot(page.blocks,
  3187.     {bounds: bnd26,
  3188.     item: c26});
  3189. AddArraySlot(page.blocks,
  3190.     {bounds: bnd27,
  3191.     item: c27,
  3192.     dataLen: 782});
  3193. AddArraySlot(pageList.pages, page);
  3194.  
  3195. // Page 5
  3196. page := {template: Default, blocks: []};
  3197. AddArraySlot(page.blocks,
  3198.     {bounds: bnd28,
  3199.     item: c27,
  3200.     dataOffset: 782,
  3201.     dataLen: 838});
  3202. AddArraySlot(pageList.pages, page);
  3203.  
  3204. // Page 6
  3205. page := {template: Default, blocks: []};
  3206. AddArraySlot(page.blocks,
  3207.     {bounds: bnd28,
  3208.     item: c27,
  3209.     dataOffset: 1620,
  3210.     dataLen: 835});
  3211. AddArraySlot(pageList.pages, page);
  3212.  
  3213. // Page 7
  3214. page := {template: Default, blocks: []};
  3215. AddArraySlot(page.blocks,
  3216.     {bounds: bnd28,
  3217.     item: c27,
  3218.     dataOffset: 2455,
  3219.     dataLen: 87});
  3220. AddArraySlot(pageList.pages, page);
  3221.  
  3222. // Page 8
  3223. page := {template: Indented, blocks: []};
  3224. AddArraySlot(page.blocks,
  3225.     {bounds: bnd23,
  3226.     item: c28});
  3227. AddArraySlot(page.blocks,
  3228.     {bounds: bnd29,
  3229.     item: c29});
  3230. AddArraySlot(page.blocks,
  3231.     {bounds: bnd30,
  3232.     item: c30});
  3233. AddArraySlot(page.blocks,
  3234.     {bounds: bnd31,
  3235.     item: c31});
  3236. AddArraySlot(page.blocks,
  3237.     {bounds: bnd32,
  3238.     item: c32});
  3239. AddArraySlot(page.blocks,
  3240.     {bounds: bnd33,
  3241.     item: c33});
  3242. AddArraySlot(page.blocks,
  3243.     {bounds: bnd34,
  3244.     item: c34});
  3245. AddArraySlot(page.blocks,
  3246.     {bounds: bnd35,
  3247.     item: c35});
  3248. AddArraySlot(page.blocks,
  3249.     {bounds: bnd36,
  3250.     item: c36});
  3251. AddArraySlot(page.blocks,
  3252.     {bounds: bnd37,
  3253.     item: c37});
  3254. AddArraySlot(page.blocks,
  3255.     {bounds: bnd38,
  3256.     item: c38});
  3257. AddArraySlot(page.blocks,
  3258.     {bounds: bnd39,
  3259.     item: c39});
  3260. AddArraySlot(page.blocks,
  3261.     {bounds: bnd40,
  3262.     item: c40});
  3263. AddArraySlot(pageList.pages, page);
  3264.  
  3265. // Page 9
  3266. page := {template: Default, blocks: []};
  3267. AddArraySlot(page.blocks,
  3268.     {bounds: bnd23,
  3269.     item: c41});
  3270. AddArraySlot(page.blocks,
  3271.     {bounds: bnd24,
  3272.     item: c42});
  3273. AddArraySlot(pageList.pages, page);
  3274.  
  3275. // Page 10
  3276. page := {template: Indented, blocks: []};
  3277. AddArraySlot(page.blocks,
  3278.     {bounds: bnd23,
  3279.     item: c43});
  3280. AddArraySlot(page.blocks,
  3281.     {bounds: bnd41,
  3282.     item: c44});
  3283. AddArraySlot(page.blocks,
  3284.     {bounds: bnd31,
  3285.     item: c45});
  3286. AddArraySlot(page.blocks,
  3287.     {bounds: bnd42,
  3288.     item: c46});
  3289. AddArraySlot(page.blocks,
  3290.     {bounds: bnd43,
  3291.     item: c47});
  3292. AddArraySlot(page.blocks,
  3293.     {bounds: bnd44,
  3294.     item: c48});
  3295. AddArraySlot(page.blocks,
  3296.     {bounds: bnd45,
  3297.     item: c49});
  3298. AddArraySlot(page.blocks,
  3299.     {bounds: bnd46,
  3300.     item: c50});
  3301. AddArraySlot(page.blocks,
  3302.     {bounds: bnd47,
  3303.     item: c51});
  3304. AddArraySlot(page.blocks,
  3305.     {bounds: bnd48,
  3306.     item: c52});
  3307. AddArraySlot(page.blocks,
  3308.     {bounds: bnd49,
  3309.     item: c53});
  3310. AddArraySlot(page.blocks,
  3311.     {bounds: bnd50,
  3312.     item: c54});
  3313. AddArraySlot(page.blocks,
  3314.     {bounds: bnd51,
  3315.     item: c55});
  3316. AddArraySlot(page.blocks,
  3317.     {bounds: bnd52,
  3318.     item: c56});
  3319. AddArraySlot(page.blocks,
  3320.     {bounds: bnd53,
  3321.     item: c57,
  3322.     dataLen: 35});
  3323. AddArraySlot(pageList.pages, page);
  3324.  
  3325. // Page 11
  3326. page := {template: Indented, blocks: []};
  3327. AddArraySlot(page.blocks,
  3328.     {bounds: bnd54,
  3329.     item: c57,
  3330.     dataOffset: 35,
  3331.     dataLen: 426});
  3332. AddArraySlot(page.blocks,
  3333.     {bounds: bnd55,
  3334.     item: c58});
  3335. AddArraySlot(page.blocks,
  3336.     {bounds: bnd56,
  3337.     item: c59});
  3338. AddArraySlot(page.blocks,
  3339.     {bounds: bnd57,
  3340.     item: c60});
  3341. AddArraySlot(page.blocks,
  3342.     {bounds: bnd58,
  3343.     item: c61,
  3344.     dataLen: 39});
  3345. AddArraySlot(pageList.pages, page);
  3346.  
  3347. // Page 12
  3348. page := {template: Indented, blocks: []};
  3349. AddArraySlot(page.blocks,
  3350.     {bounds: bnd59,
  3351.     item: c61,
  3352.     dataOffset: 40,
  3353.     dataLen: 24});
  3354. AddArraySlot(page.blocks,
  3355.     {bounds: bnd60,
  3356.     item: c62});
  3357. AddArraySlot(page.blocks,
  3358.     {bounds: bnd61,
  3359.     item: c63});
  3360. AddArraySlot(page.blocks,
  3361.     {bounds: bnd62,
  3362.     item: c64});
  3363. AddArraySlot(page.blocks,
  3364.     {bounds: bnd63,
  3365.     item: c65});
  3366. AddArraySlot(page.blocks,
  3367.     {bounds: bnd64,
  3368.     item: c66});
  3369. AddArraySlot(page.blocks,
  3370.     {bounds: bnd65,
  3371.     item: c67,
  3372.     dataLen: 30});
  3373. AddArraySlot(pageList.pages, page);
  3374.  
  3375. // Page 13
  3376. page := {template: Indented, blocks: []};
  3377. AddArraySlot(page.blocks,
  3378.     {bounds: bnd66,
  3379.     item: c67,
  3380.     dataOffset: 30,
  3381.     dataLen: 125});
  3382. AddArraySlot(page.blocks,
  3383.     {bounds: bnd67,
  3384.     item: c68});
  3385. AddArraySlot(page.blocks,
  3386.     {bounds: bnd68,
  3387.     item: c69});
  3388. AddArraySlot(page.blocks,
  3389.     {bounds: bnd69,
  3390.     item: c70});
  3391. AddArraySlot(page.blocks,
  3392.     {bounds: bnd70,
  3393.     item: c71});
  3394. AddArraySlot(pageList.pages, page);
  3395.  
  3396. // Page 14
  3397. page := {template: Indented, blocks: []};
  3398. AddArraySlot(page.blocks,
  3399.     {bounds: bnd71,
  3400.     item: c72});
  3401. AddArraySlot(page.blocks,
  3402.     {bounds: bnd72,
  3403.     item: c73});
  3404. AddArraySlot(page.blocks,
  3405.     {bounds: bnd73,
  3406.     item: c74});
  3407. AddArraySlot(page.blocks,
  3408.     {bounds: bnd74,
  3409.     item: c75});
  3410. AddArraySlot(page.blocks,
  3411.     {bounds: bnd75,
  3412.     item: c76});
  3413. AddArraySlot(page.blocks,
  3414.     {bounds: bnd76,
  3415.     item: c77,
  3416.     dataLen: 126});
  3417. AddArraySlot(pageList.pages, page);
  3418.  
  3419. // Page 15
  3420. page := {template: Indented, blocks: []};
  3421. AddArraySlot(page.blocks,
  3422.     {bounds: bnd77,
  3423.     item: c77,
  3424.     dataOffset: 127,
  3425.     dataLen: 21});
  3426. AddArraySlot(page.blocks,
  3427.     {bounds: bnd78,
  3428.     item: c78});
  3429. AddArraySlot(page.blocks,
  3430.     {bounds: bnd79,
  3431.     item: c79});
  3432. AddArraySlot(page.blocks,
  3433.     {bounds: bnd80,
  3434.     item: c80});
  3435. AddArraySlot(page.blocks,
  3436.     {bounds: bnd81,
  3437.     item: c81});
  3438. AddArraySlot(page.blocks,
  3439.     {bounds: bnd82,
  3440.     item: c82});
  3441. AddArraySlot(pageList.pages, page);
  3442.  
  3443. // Page 16
  3444. page := {template: Indented, blocks: []};
  3445. AddArraySlot(page.blocks,
  3446.     {bounds: bnd83,
  3447.     item: c83});
  3448. AddArraySlot(page.blocks,
  3449.     {bounds: bnd84,
  3450.     item: c84});
  3451. AddArraySlot(page.blocks,
  3452.     {bounds: bnd85,
  3453.     item: c85});
  3454. AddArraySlot(page.blocks,
  3455.     {bounds: bnd86,
  3456.     item: c86,
  3457.     dataLen: 421});
  3458. AddArraySlot(pageList.pages, page);
  3459.  
  3460. // Page 17
  3461. page := {template: Indented, blocks: []};
  3462. AddArraySlot(page.blocks,
  3463.     {bounds: bnd71,
  3464.     item: c87});
  3465. AddArraySlot(page.blocks,
  3466.     {bounds: bnd87,
  3467.     item: c88,
  3468.     dataLen: 660});
  3469. AddArraySlot(pageList.pages, page);
  3470.  
  3471. // Page 18
  3472. page := {template: Indented, blocks: []};
  3473. AddArraySlot(page.blocks,
  3474.     {bounds: bnd77,
  3475.     item: c88,
  3476.     dataOffset: 660,
  3477.     dataLen: 53});
  3478. AddArraySlot(page.blocks,
  3479.     {bounds: bnd78,
  3480.     item: c89});
  3481. AddArraySlot(page.blocks,
  3482.     {bounds: bnd88,
  3483.     item: c90});
  3484. AddArraySlot(page.blocks,
  3485.     {bounds: bnd89,
  3486.     item: c91});
  3487. AddArraySlot(page.blocks,
  3488.     {bounds: bnd90,
  3489.     item: c92});
  3490. AddArraySlot(pageList.pages, page);
  3491.  
  3492. // Page 19
  3493. page := {template: Indented, blocks: []};
  3494. AddArraySlot(page.blocks,
  3495.     {bounds: bnd71,
  3496.     item: c93});
  3497. AddArraySlot(page.blocks,
  3498.     {bounds: bnd91,
  3499.     item: c94});
  3500. AddArraySlot(page.blocks,
  3501.     {bounds: bnd92,
  3502.     item: c95});
  3503. AddArraySlot(page.blocks,
  3504.     {bounds: bnd93,
  3505.     item: c96,
  3506.     dataLen: 349});
  3507. AddArraySlot(pageList.pages, page);
  3508.  
  3509. // Page 20
  3510. page := {template: Indented, blocks: []};
  3511. AddArraySlot(page.blocks,
  3512.     {bounds: bnd94,
  3513.     item: c96,
  3514.     dataOffset: 350,
  3515.     dataLen: 498});
  3516. AddArraySlot(page.blocks,
  3517.     {bounds: bnd95,
  3518.     item: c97});
  3519. AddArraySlot(page.blocks,
  3520.     {bounds: bnd96,
  3521.     item: c98,
  3522.     dataLen: 301});
  3523. AddArraySlot(pageList.pages, page);
  3524.  
  3525. // Page 21
  3526. page := {template: Indented, blocks: []};
  3527. AddArraySlot(page.blocks,
  3528.     {bounds: bnd97,
  3529.     item: c98,
  3530.     dataOffset: 301,
  3531.     dataLen: 327});
  3532. AddArraySlot(page.blocks,
  3533.     {bounds: bnd62,
  3534.     item: c99});
  3535. AddArraySlot(page.blocks,
  3536.     {bounds: bnd98,
  3537.     item: c100});
  3538. AddArraySlot(page.blocks,
  3539.     {bounds: bnd99,
  3540.     item: c101});
  3541. AddArraySlot(page.blocks,
  3542.     {bounds: bnd100,
  3543.     item: c102,
  3544.     dataLen: 112});
  3545. AddArraySlot(pageList.pages, page);
  3546.  
  3547. // Page 22
  3548. page := {template: Indented, blocks: []};
  3549. AddArraySlot(page.blocks,
  3550.     {bounds: bnd101,
  3551.     item: c102,
  3552.     dataOffset: 112,
  3553.     dataLen: 204});
  3554. AddArraySlot(page.blocks,
  3555.     {bounds: bnd102,
  3556.     item: c103});
  3557. AddArraySlot(page.blocks,
  3558.     {bounds: bnd103,
  3559.     item: c104,
  3560.     dataLen: 485});
  3561. AddArraySlot(pageList.pages, page);
  3562.  
  3563. // Page 23
  3564. page := {template: Indented, blocks: []};
  3565. AddArraySlot(page.blocks,
  3566.     {bounds: bnd104,
  3567.     item: c104,
  3568.     dataOffset: 486,
  3569.     dataLen: 32});
  3570. AddArraySlot(page.blocks,
  3571.     {bounds: bnd105,
  3572.     item: c105});
  3573. AddArraySlot(page.blocks,
  3574.     {bounds: bnd106,
  3575.     item: c106});
  3576. AddArraySlot(page.blocks,
  3577.     {bounds: bnd107,
  3578.     item: c107});
  3579. AddArraySlot(page.blocks,
  3580.     {bounds: bnd108,
  3581.     item: c108});
  3582. AddArraySlot(page.blocks,
  3583.     {bounds: bnd109,
  3584.     item: c109});
  3585. AddArraySlot(page.blocks,
  3586.     {bounds: bnd110,
  3587.     item: c110,
  3588.     dataLen: 70});
  3589. AddArraySlot(pageList.pages, page);
  3590.  
  3591. // Page 24
  3592. page := {template: Indented, blocks: []};
  3593. AddArraySlot(page.blocks,
  3594.     {bounds: bnd111,
  3595.     item: c110,
  3596.     dataOffset: 70,
  3597.     dataLen: 617});
  3598. AddArraySlot(pageList.pages, page);
  3599.  
  3600. // Page 25
  3601. page := {template: Indented, blocks: []};
  3602. AddArraySlot(page.blocks,
  3603.     {bounds: bnd66,
  3604.     item: c110,
  3605.     dataOffset: 688,
  3606.     dataLen: 165});
  3607. AddArraySlot(page.blocks,
  3608.     {bounds: bnd112,
  3609.     item: c111});
  3610. AddArraySlot(page.blocks,
  3611.     {bounds: bnd113,
  3612.     item: c112});
  3613. AddArraySlot(page.blocks,
  3614.     {bounds: bnd114,
  3615.     item: c113});
  3616. AddArraySlot(page.blocks,
  3617.     {bounds: bnd115,
  3618.     item: c114});
  3619. AddArraySlot(page.blocks,
  3620.     {bounds: bnd116,
  3621.     item: c115});
  3622. AddArraySlot(page.blocks,
  3623.     {bounds: bnd117,
  3624.     item: c116,
  3625.     dataLen: 174});
  3626. AddArraySlot(pageList.pages, page);
  3627.  
  3628. // Page 26
  3629. page := {template: Indented, blocks: []};
  3630. AddArraySlot(page.blocks,
  3631.     {bounds: bnd118,
  3632.     item: c116,
  3633.     dataOffset: 174,
  3634.     dataLen: 275});
  3635. AddArraySlot(page.blocks,
  3636.     {bounds: bnd119,
  3637.     item: c117});
  3638. AddArraySlot(page.blocks,
  3639.     {bounds: bnd120,
  3640.     item: c118});
  3641. AddArraySlot(page.blocks,
  3642.     {bounds: bnd121,
  3643.     item: c119});
  3644. AddArraySlot(page.blocks,
  3645.     {bounds: bnd122,
  3646.     item: c120});
  3647. AddArraySlot(page.blocks,
  3648.     {bounds: bnd123,
  3649.     item: c121});
  3650. AddArraySlot(pageList.pages, page);
  3651.  
  3652. // Page 27
  3653. page := {template: Indented, blocks: []};
  3654. AddArraySlot(page.blocks,
  3655.     {bounds: bnd124,
  3656.     item: c122});
  3657. AddArraySlot(page.blocks,
  3658.     {bounds: bnd125,
  3659.     item: c123});
  3660. AddArraySlot(page.blocks,
  3661.     {bounds: bnd126,
  3662.     item: c124});
  3663. AddArraySlot(page.blocks,
  3664.     {bounds: bnd127,
  3665.     item: c125,
  3666.     dataLen: 200});
  3667. AddArraySlot(pageList.pages, page);
  3668.  
  3669. // Page 28
  3670. page := {template: Indented, blocks: []};
  3671. AddArraySlot(page.blocks,
  3672.     {bounds: bnd124,
  3673.     item: c126});
  3674. AddArraySlot(page.blocks,
  3675.     {bounds: bnd128,
  3676.     item: c127});
  3677. AddArraySlot(page.blocks,
  3678.     {bounds: bnd129,
  3679.     item: c128});
  3680. AddArraySlot(page.blocks,
  3681.     {bounds: bnd130,
  3682.     item: c129});
  3683. AddArraySlot(page.blocks,
  3684.     {bounds: bnd131,
  3685.     item: c130});
  3686. AddArraySlot(page.blocks,
  3687.     {bounds: bnd132,
  3688.     item: c131});
  3689. AddArraySlot(page.blocks,
  3690.     {bounds: bnd133,
  3691.     item: c132});
  3692. AddArraySlot(page.blocks,
  3693.     {bounds: bnd134,
  3694.     item: c133});
  3695. AddArraySlot(page.blocks,
  3696.     {bounds: bnd135,
  3697.     item: c134,
  3698.     dataLen: 93});
  3699. AddArraySlot(pageList.pages, page);
  3700.  
  3701. // Page 29
  3702. page := {template: Indented, blocks: []};
  3703. AddArraySlot(page.blocks,
  3704.     {bounds: bnd136,
  3705.     item: c135});
  3706. AddArraySlot(page.blocks,
  3707.     {bounds: bnd137,
  3708.     item: c136});
  3709. AddArraySlot(page.blocks,
  3710.     {bounds: bnd138,
  3711.     item: c137});
  3712. AddArraySlot(page.blocks,
  3713.     {bounds: bnd139,
  3714.     item: c138});
  3715. AddArraySlot(page.blocks,
  3716.     {bounds: bnd140,
  3717.     item: c139});
  3718. AddArraySlot(page.blocks,
  3719.     {bounds: bnd141,
  3720.     item: c140});
  3721. AddArraySlot(page.blocks,
  3722.     {bounds: bnd142,
  3723.     item: c141});
  3724. AddArraySlot(page.blocks,
  3725.     {bounds: bnd143,
  3726.     item: c142});
  3727. AddArraySlot(page.blocks,
  3728.     {bounds: bnd144,
  3729.     item: c143});
  3730. AddArraySlot(page.blocks,
  3731.     {bounds: bnd145,
  3732.     item: c144});
  3733. AddArraySlot(page.blocks,
  3734.     {bounds: bnd146,
  3735.     item: c145});
  3736. AddArraySlot(page.blocks,
  3737.     {bounds: bnd147,
  3738.     item: c146});
  3739. AddArraySlot(page.blocks,
  3740.     {bounds: bnd148,
  3741.     item: c147});
  3742. AddArraySlot(page.blocks,
  3743.     {bounds: bnd149,
  3744.     item: c148});
  3745. AddArraySlot(page.blocks,
  3746.     {bounds: bnd150,
  3747.     item: c149});
  3748. AddArraySlot(page.blocks,
  3749.     {bounds: bnd75,
  3750.     item: c150});
  3751. AddArraySlot(page.blocks,
  3752.     {bounds: bnd151,
  3753.     item: c151});
  3754. AddArraySlot(page.blocks,
  3755.     {bounds: bnd57,
  3756.     item: c152});
  3757. AddArraySlot(page.blocks,
  3758.     {bounds: bnd58,
  3759.     item: c153});
  3760. AddArraySlot(pageList.pages, page);
  3761.  
  3762. // Page 30
  3763. page := {template: Indented, blocks: []};
  3764. AddArraySlot(page.blocks,
  3765.     {bounds: bnd71,
  3766.     item: c154});
  3767. AddArraySlot(page.blocks,
  3768.     {bounds: bnd152,
  3769.     item: c155});
  3770. AddArraySlot(page.blocks,
  3771.     {bounds: bnd153,
  3772.     item: c156});
  3773. AddArraySlot(page.blocks,
  3774.     {bounds: bnd154,
  3775.     item: c157});
  3776. AddArraySlot(page.blocks,
  3777.     {bounds: bnd155,
  3778.     item: c158});
  3779. AddArraySlot(page.blocks,
  3780.     {bounds: bnd156,
  3781.     item: c159});
  3782. AddArraySlot(page.blocks,
  3783.     {bounds: bnd157,
  3784.     item: c160});
  3785. AddArraySlot(page.blocks,
  3786.     {bounds: bnd158,
  3787.     item: c161});
  3788. AddArraySlot(page.blocks,
  3789.     {bounds: bnd159,
  3790.     item: c162});
  3791. AddArraySlot(page.blocks,
  3792.     {bounds: bnd160,
  3793.     item: c163});
  3794. AddArraySlot(page.blocks,
  3795.     {bounds: bnd161,
  3796.     item: c164});
  3797. AddArraySlot(page.blocks,
  3798.     {bounds: bnd162,
  3799.     item: c165});
  3800. AddArraySlot(page.blocks,
  3801.     {bounds: bnd163,
  3802.     item: c166});
  3803. AddArraySlot(page.blocks,
  3804.     {bounds: bnd164,
  3805.     item: c167});
  3806. AddArraySlot(page.blocks,
  3807.     {bounds: bnd165,
  3808.     item: c168});
  3809. AddArraySlot(page.blocks,
  3810.     {bounds: bnd166,
  3811.     item: c169});
  3812. AddArraySlot(page.blocks,
  3813.     {bounds: bnd167,
  3814.     item: c170});
  3815. AddArraySlot(page.blocks,
  3816.     {bounds: bnd168,
  3817.     item: c171});
  3818. AddArraySlot(pageList.pages, page);
  3819.  
  3820. // Page 31
  3821. page := {template: Indented, blocks: []};
  3822. AddArraySlot(page.blocks,
  3823.     {bounds: bnd71,
  3824.     item: c172});
  3825. AddArraySlot(page.blocks,
  3826.     {bounds: bnd152,
  3827.     item: c173});
  3828. AddArraySlot(page.blocks,
  3829.     {bounds: bnd153,
  3830.     item: c174});
  3831. AddArraySlot(page.blocks,
  3832.     {bounds: bnd169,
  3833.     item: c175});
  3834. AddArraySlot(page.blocks,
  3835.     {bounds: bnd170,
  3836.     item: c176});
  3837. AddArraySlot(page.blocks,
  3838.     {bounds: bnd171,
  3839.     item: c177});
  3840. AddArraySlot(page.blocks,
  3841.     {bounds: bnd172,
  3842.     item: c178});
  3843. AddArraySlot(page.blocks,
  3844.     {bounds: bnd173,
  3845.     item: c179});
  3846. AddArraySlot(page.blocks,
  3847.     {bounds: bnd174,
  3848.     item: c180});
  3849. AddArraySlot(page.blocks,
  3850.     {bounds: bnd175,
  3851.     item: c181});
  3852. AddArraySlot(page.blocks,
  3853.     {bounds: bnd176,
  3854.     item: c182});
  3855. AddArraySlot(page.blocks,
  3856.     {bounds: bnd177,
  3857.     item: c183});
  3858. AddArraySlot(page.blocks,
  3859.     {bounds: bnd178,
  3860.     item: c184});
  3861. AddArraySlot(page.blocks,
  3862.     {bounds: bnd179,
  3863.     item: c185});
  3864. AddArraySlot(page.blocks,
  3865.     {bounds: bnd180,
  3866.     item: c186});
  3867. AddArraySlot(pageList.pages, page);
  3868.  
  3869. // Page 32
  3870. page := {template: Indented, blocks: []};
  3871. AddArraySlot(page.blocks,
  3872.     {bounds: bnd71,
  3873.     item: c187});
  3874. AddArraySlot(page.blocks,
  3875.     {bounds: bnd152,
  3876.     item: c188});
  3877. AddArraySlot(page.blocks,
  3878.     {bounds: bnd153,
  3879.     item: c189});
  3880. AddArraySlot(page.blocks,
  3881.     {bounds: bnd181,
  3882.     item: c190});
  3883. AddArraySlot(page.blocks,
  3884.     {bounds: bnd182,
  3885.     item: c191});
  3886. AddArraySlot(page.blocks,
  3887.     {bounds: bnd183,
  3888.     item: c192});
  3889. AddArraySlot(page.blocks,
  3890.     {bounds: bnd184,
  3891.     item: c193});
  3892. AddArraySlot(page.blocks,
  3893.     {bounds: bnd185,
  3894.     item: c194});
  3895. AddArraySlot(pageList.pages, page);
  3896.  
  3897. // Page 33
  3898. page := {template: Default, blocks: []};
  3899. AddArraySlot(page.blocks,
  3900.     {bounds: bnd23,
  3901.     item: c195});
  3902. AddArraySlot(page.blocks,
  3903.     {bounds: bnd186,
  3904.     item: c196});
  3905. AddArraySlot(page.blocks,
  3906.     {bounds: bnd187,
  3907.     item: c197,
  3908.     dataLen: 555});
  3909. AddArraySlot(pageList.pages, page);
  3910.  
  3911. // Page 34
  3912. page := {template: Default, blocks: []};
  3913. AddArraySlot(page.blocks,
  3914.     {bounds: bnd28,
  3915.     item: c197,
  3916.     dataOffset: 555,
  3917.     dataLen: 498});
  3918. AddArraySlot(pageList.pages, page);
  3919.  
  3920. // Page 35
  3921. page := {template: Default, blocks: []};
  3922. AddArraySlot(page.blocks,
  3923.     {bounds: bnd188,
  3924.     item: c197,
  3925.     dataOffset: 1054,
  3926.     dataLen: 287});
  3927. AddArraySlot(page.blocks,
  3928.     {bounds: bnd189,
  3929.     item: c198});
  3930. AddArraySlot(page.blocks,
  3931.     {bounds: bnd190,
  3932.     item: c200,
  3933.     dataLen: 424});
  3934. AddArraySlot(pageList.pages, page);
  3935.  
  3936. // Page 36
  3937. page := {template: Default, blocks: []};
  3938. AddArraySlot(page.blocks,
  3939.     {bounds: bnd28,
  3940.     item: c200,
  3941.     dataOffset: 425,
  3942.     dataLen: 768});
  3943. AddArraySlot(pageList.pages, page);
  3944.  
  3945. // Page 37
  3946. page := {template: Default, blocks: []};
  3947. AddArraySlot(page.blocks,
  3948.     {bounds: bnd191,
  3949.     item: c200,
  3950.     dataOffset: 1194,
  3951.     dataLen: 166});
  3952. AddArraySlot(page.blocks,
  3953.     {bounds: bnd192,
  3954.     item: c201});
  3955. AddArraySlot(page.blocks,
  3956.     {bounds: bnd193,
  3957.     item: c202,
  3958.     dataLen: 232});
  3959. AddArraySlot(pageList.pages, page);
  3960.  
  3961. // Page 38
  3962. page := {template: Default, blocks: []};
  3963. AddArraySlot(page.blocks,
  3964.     {bounds: bnd194,
  3965.     item: c202,
  3966.     dataOffset: 233,
  3967.     dataLen: 93});
  3968. AddArraySlot(page.blocks,
  3969.     {bounds: bnd195,
  3970.     item: c203});
  3971. AddArraySlot(page.blocks,
  3972.     {bounds: bnd196,
  3973.     item: c204});
  3974. AddArraySlot(pageList.pages, page);
  3975.  
  3976. // Page 39
  3977. page := {template: Default, blocks: []};
  3978. AddArraySlot(page.blocks,
  3979.     {bounds: bnd197,
  3980.     item: c205});
  3981. AddArraySlot(page.blocks,
  3982.     {bounds: bnd198,
  3983.     item: c206});
  3984. AddArraySlot(page.blocks,
  3985.     {bounds: bnd199,
  3986.     item: c207});
  3987. AddArraySlot(page.blocks,
  3988.     {bounds: bnd200,
  3989.     item: c208});
  3990. AddArraySlot(page.blocks,
  3991.     {bounds: bnd201,
  3992.     item: c209,
  3993.     dataLen: 43});
  3994. AddArraySlot(pageList.pages, page);
  3995.  
  3996. // Page 40
  3997. page := {template: Default, blocks: []};
  3998. AddArraySlot(page.blocks,
  3999.     {bounds: bnd202,
  4000.     item: c209,
  4001.     dataOffset: 43,
  4002.     dataLen: 127});
  4003. AddArraySlot(page.blocks,
  4004.     {bounds: bnd203,
  4005.     item: c210});
  4006. AddArraySlot(page.blocks,
  4007.     {bounds: bnd204,
  4008.     item: c211});
  4009. AddArraySlot(pageList.pages, page);
  4010.  
  4011. // Page 41
  4012. page := {template: Default, blocks: []};
  4013. AddArraySlot(page.blocks,
  4014.     {bounds: bnd136,
  4015.     item: c212});
  4016. AddArraySlot(page.blocks,
  4017.     {bounds: bnd205,
  4018.     item: c213,
  4019.     dataLen: 629});
  4020. AddArraySlot(pageList.pages, page);
  4021.  
  4022. // Page 42
  4023. page := {template: Default, blocks: []};
  4024. AddArraySlot(page.blocks,
  4025.     {bounds: bnd28,
  4026.     item: c213,
  4027.     dataOffset: 629,
  4028.     dataLen: 271});
  4029. AddArraySlot(pageList.pages, page);
  4030.  
  4031. // Page 43
  4032. page := {template: Indented, blocks: []};
  4033. AddArraySlot(page.blocks,
  4034.     {bounds: bnd23,
  4035.     item: c214});
  4036. AddArraySlot(page.blocks,
  4037.     {bounds: bnd206,
  4038.     item: c215});
  4039. AddArraySlot(page.blocks,
  4040.     {bounds: bnd207,
  4041.     item: c216});
  4042. AddArraySlot(page.blocks,
  4043.     {bounds: bnd208,
  4044.     item: c217});
  4045. AddArraySlot(page.blocks,
  4046.     {bounds: bnd209,
  4047.     item: c218});
  4048. AddArraySlot(page.blocks,
  4049.     {bounds: bnd210,
  4050.     item: c219});
  4051. AddArraySlot(page.blocks,
  4052.     {bounds: bnd211,
  4053.     item: c220,
  4054.     dataLen: 37});
  4055. AddArraySlot(pageList.pages, page);
  4056.  
  4057. // Page 44
  4058. page := {template: Indented, blocks: []};
  4059. AddArraySlot(page.blocks,
  4060.     {bounds: bnd212,
  4061.     item: c220,
  4062.     dataOffset: 37,
  4063.     dataLen: 281});
  4064. AddArraySlot(page.blocks,
  4065.     {bounds: bnd213,
  4066.     item: c221});
  4067. AddArraySlot(page.blocks,
  4068.     {bounds: bnd214,
  4069.     item: c222});
  4070. AddArraySlot(page.blocks,
  4071.     {bounds: bnd215,
  4072.     item: c223});
  4073. AddArraySlot(page.blocks,
  4074.     {bounds: bnd216,
  4075.     item: c224});
  4076. AddArraySlot(page.blocks,
  4077.     {bounds: bnd217,
  4078.     item: c225});
  4079. AddArraySlot(page.blocks,
  4080.     {bounds: bnd218,
  4081.     item: c226});
  4082. AddArraySlot(pageList.pages, page);
  4083.  
  4084. // Page 45
  4085. page := {template: Indented, blocks: []};
  4086. AddArraySlot(page.blocks,
  4087.     {bounds: bnd71,
  4088.     item: c227});
  4089. AddArraySlot(page.blocks,
  4090.     {bounds: bnd219,
  4091.     item: c228});
  4092. AddArraySlot(page.blocks,
  4093.     {bounds: bnd220,
  4094.     item: c229});
  4095. AddArraySlot(page.blocks,
  4096.     {bounds: bnd221,
  4097.     item: c230});
  4098. AddArraySlot(pageList.pages, page);
  4099.  
  4100. // Page 46
  4101. page := {template: Indented, blocks: []};
  4102. AddArraySlot(page.blocks,
  4103.     {bounds: bnd71,
  4104.     item: c231});
  4105. AddArraySlot(page.blocks,
  4106.     {bounds: bnd222,
  4107.     item: c232});
  4108. AddArraySlot(page.blocks,
  4109.     {bounds: bnd170,
  4110.     item: c233});
  4111. AddArraySlot(page.blocks,
  4112.     {bounds: bnd223,
  4113.     item: c234});
  4114. AddArraySlot(page.blocks,
  4115.     {bounds: bnd224,
  4116.     item: c235});
  4117. AddArraySlot(page.blocks,
  4118.     {bounds: bnd225,
  4119.     item: c236});
  4120. AddArraySlot(page.blocks,
  4121.     {bounds: bnd226,
  4122.     item: c237});
  4123. AddArraySlot(page.blocks,
  4124.     {bounds: bnd227,
  4125.     item: c238});
  4126. AddArraySlot(page.blocks,
  4127.     {bounds: bnd228,
  4128.     item: c239});
  4129. AddArraySlot(page.blocks,
  4130.     {bounds: bnd229,
  4131.     item: c240,
  4132.     dataLen: 112});
  4133. AddArraySlot(pageList.pages, page);
  4134.  
  4135. // Page 47
  4136. page := {template: Indented, blocks: []};
  4137. AddArraySlot(page.blocks,
  4138.     {bounds: bnd71,
  4139.     item: c241});
  4140. AddArraySlot(page.blocks,
  4141.     {bounds: bnd219,
  4142.     item: c242});
  4143. AddArraySlot(page.blocks,
  4144.     {bounds: bnd220,
  4145.     item: c243});
  4146. AddArraySlot(page.blocks,
  4147.     {bounds: bnd230,
  4148.     item: c244});
  4149. AddArraySlot(page.blocks,
  4150.     {bounds: bnd157,
  4151.     item: c245});
  4152. AddArraySlot(page.blocks,
  4153.     {bounds: bnd231,
  4154.     item: c246});
  4155. AddArraySlot(page.blocks,
  4156.     {bounds: bnd232,
  4157.     item: c247});
  4158. AddArraySlot(page.blocks,
  4159.     {bounds: bnd233,
  4160.     item: c248});
  4161. AddArraySlot(page.blocks,
  4162.     {bounds: bnd179,
  4163.     item: c249});
  4164. AddArraySlot(page.blocks,
  4165.     {bounds: bnd180,
  4166.     item: c250,
  4167.     dataLen: 118});
  4168. AddArraySlot(pageList.pages, page);
  4169.  
  4170. // Page 48
  4171. page := {template: Indented, blocks: []};
  4172. AddArraySlot(page.blocks,
  4173.     {bounds: bnd71,
  4174.     item: c251});
  4175. AddArraySlot(page.blocks,
  4176.     {bounds: bnd234,
  4177.     item: c252});
  4178. AddArraySlot(page.blocks,
  4179.     {bounds: bnd235,
  4180.     item: c253});
  4181. AddArraySlot(page.blocks,
  4182.     {bounds: bnd236,
  4183.     item: c254});
  4184. AddArraySlot(page.blocks,
  4185.     {bounds: bnd237,
  4186.     item: c255});
  4187. AddArraySlot(page.blocks,
  4188.     {bounds: bnd238,
  4189.     item: c256});
  4190. AddArraySlot(pageList.pages, page);
  4191.  
  4192. AddArraySlot(book.rendering, pageList);
  4193.  
  4194. // Browsers & “Page Hints”
  4195. b1 := {
  4196.     name: "Contents",  list: []
  4197. };
  4198. bp1 := [];        // “Page Hints” for list browser
  4199.  
  4200. AddArraySlot(b1.list, {    // 0
  4201.     item: c1
  4202. });
  4203. AddArraySlot(bp1, 1);
  4204. AddArraySlot(b1.list, {    // 1
  4205.     item: c4
  4206. });
  4207. AddArraySlot(bp1, 2);
  4208. AddArraySlot(b1.list, {    // 2
  4209.     item: c24
  4210. });
  4211. AddArraySlot(bp1, 3);
  4212. AddArraySlot(b1.list, {    // 3
  4213.     item: c26
  4214. });
  4215. AddArraySlot(bp1, 4);
  4216. AddArraySlot(b1.list, {    // 4
  4217.     item: c28
  4218. });
  4219. AddArraySlot(bp1, 8);
  4220. AddArraySlot(b1.list, {    // 5
  4221.     item: c41
  4222. });
  4223. AddArraySlot(bp1, 9);
  4224. AddArraySlot(b1.list, {    // 6
  4225.     item: c43
  4226. });
  4227. AddArraySlot(bp1, 10);
  4228. AddArraySlot(b1.list, {    // 7
  4229.     level: 2,
  4230.     item: c55
  4231. });
  4232. AddArraySlot(bp1, 10);
  4233. AddArraySlot(b1.list, {    // 8
  4234.     level: 3,
  4235.     item: c56
  4236. });
  4237. AddArraySlot(bp1, 10);
  4238. AddArraySlot(b1.list, {    // 9
  4239.     level: 3,
  4240.     item: c58
  4241. });
  4242. AddArraySlot(bp1, 11);
  4243. AddArraySlot(b1.list, {    // 10
  4244.     level: 3,
  4245.     item: c60
  4246. });
  4247. AddArraySlot(bp1, 11);
  4248. AddArraySlot(b1.list, {    // 11
  4249.     level: 3,
  4250.     item: c62
  4251. });
  4252. AddArraySlot(bp1, 12);
  4253. AddArraySlot(b1.list, {    // 12
  4254.     level: 3,
  4255.     item: c66
  4256. });
  4257. AddArraySlot(bp1, 12);
  4258. AddArraySlot(b1.list, {    // 13
  4259.     level: 3,
  4260.     item: c68
  4261. });
  4262. AddArraySlot(bp1, 13);
  4263. AddArraySlot(b1.list, {    // 14
  4264.     level: 3,
  4265.     item: c70
  4266. });
  4267. AddArraySlot(bp1, 13);
  4268. AddArraySlot(b1.list, {    // 15
  4269.     level: 3,
  4270.     item: c72
  4271. });
  4272. AddArraySlot(bp1, 14);
  4273. AddArraySlot(b1.list, {    // 16
  4274.     level: 3,
  4275.     item: c74
  4276. });
  4277. AddArraySlot(bp1, 14);
  4278. AddArraySlot(b1.list, {    // 17
  4279.     level: 3,
  4280.     item: c76
  4281. });
  4282. AddArraySlot(bp1, 14);
  4283. AddArraySlot(b1.list, {    // 18
  4284.     level: 3,
  4285.     item: c78
  4286. });
  4287. AddArraySlot(bp1, 15);
  4288. AddArraySlot(b1.list, {    // 19
  4289.     level: 2,
  4290.     item: c80
  4291. });
  4292. AddArraySlot(bp1, 15);
  4293. AddArraySlot(b1.list, {    // 20
  4294.     level: 3,
  4295.     item: c81
  4296. });
  4297. AddArraySlot(bp1, 15);
  4298. AddArraySlot(b1.list, {    // 21
  4299.     level: 3,
  4300.     item: c83
  4301. });
  4302. AddArraySlot(bp1, 16);
  4303. AddArraySlot(b1.list, {    // 22
  4304.     level: 3,
  4305.     item: c85
  4306. });
  4307. AddArraySlot(bp1, 16);
  4308. AddArraySlot(b1.list, {    // 23
  4309.     level: 3,
  4310.     item: c87
  4311. });
  4312. AddArraySlot(bp1, 17);
  4313. AddArraySlot(b1.list, {    // 24
  4314.     level: 3,
  4315.     item: c89
  4316. });
  4317. AddArraySlot(bp1, 18);
  4318. AddArraySlot(b1.list, {    // 25
  4319.     level: 3,
  4320.     item: c91
  4321. });
  4322. AddArraySlot(bp1, 18);
  4323. AddArraySlot(b1.list, {    // 26
  4324.     level: 3,
  4325.     item: c93
  4326. });
  4327. AddArraySlot(bp1, 19);
  4328. AddArraySlot(b1.list, {    // 27
  4329.     level: 3,
  4330.     item: c95
  4331. });
  4332. AddArraySlot(bp1, 19);
  4333. AddArraySlot(b1.list, {    // 28
  4334.     level: 3,
  4335.     item: c97
  4336. });
  4337. AddArraySlot(bp1, 20);
  4338. AddArraySlot(b1.list, {    // 29
  4339.     level: 3,
  4340.     item: c99
  4341. });
  4342. AddArraySlot(bp1, 21);
  4343. AddArraySlot(b1.list, {    // 30
  4344.     level: 3,
  4345.     item: c101
  4346. });
  4347. AddArraySlot(bp1, 21);
  4348. AddArraySlot(b1.list, {    // 31
  4349.     level: 3,
  4350.     item: c103
  4351. });
  4352. AddArraySlot(bp1, 22);
  4353. AddArraySlot(b1.list, {    // 32
  4354.     level: 2,
  4355.     item: c105
  4356. });
  4357. AddArraySlot(bp1, 23);
  4358. AddArraySlot(b1.list, {    // 33
  4359.     level: 3,
  4360.     item: c106
  4361. });
  4362. AddArraySlot(bp1, 23);
  4363. AddArraySlot(b1.list, {    // 34
  4364.     level: 2,
  4365.     item: c108
  4366. });
  4367. AddArraySlot(bp1, 23);
  4368. AddArraySlot(b1.list, {    // 35
  4369.     level: 3,
  4370.     item: c109
  4371. });
  4372. AddArraySlot(bp1, 23);
  4373. AddArraySlot(b1.list, {    // 36
  4374.     level: 3,
  4375.     item: c111
  4376. });
  4377. AddArraySlot(bp1, 25);
  4378. AddArraySlot(b1.list, {    // 37
  4379.     level: 3,
  4380.     item: c113
  4381. });
  4382. AddArraySlot(bp1, 25);
  4383. AddArraySlot(b1.list, {    // 38
  4384.     level: 3,
  4385.     item: c115
  4386. });
  4387. AddArraySlot(bp1, 25);
  4388. AddArraySlot(b1.list, {    // 39
  4389.     level: 2,
  4390.     item: c117
  4391. });
  4392. AddArraySlot(bp1, 26);
  4393. AddArraySlot(b1.list, {    // 40
  4394.     level: 3,
  4395.     item: c118
  4396. });
  4397. AddArraySlot(bp1, 26);
  4398. AddArraySlot(b1.list, {    // 41
  4399.     level: 3,
  4400.     item: c120
  4401. });
  4402. AddArraySlot(bp1, 26);
  4403. AddArraySlot(b1.list, {    // 42
  4404.     level: 3,
  4405.     item: c122
  4406. });
  4407. AddArraySlot(bp1, 27);
  4408. AddArraySlot(b1.list, {    // 43
  4409.     level: 3,
  4410.     item: c124
  4411. });
  4412. AddArraySlot(bp1, 27);
  4413. AddArraySlot(b1.list, {    // 44
  4414.     level: 3,
  4415.     item: c126
  4416. });
  4417. AddArraySlot(bp1, 28);
  4418. AddArraySlot(b1.list, {    // 45
  4419.     item: c128
  4420. });
  4421. AddArraySlot(bp1, 28);
  4422. AddArraySlot(b1.list, {    // 46
  4423.     level: 2,
  4424.     item: c130
  4425. });
  4426. AddArraySlot(bp1, 28);
  4427. AddArraySlot(b1.list, {    // 47
  4428.     level: 3,
  4429.     item: c131
  4430. });
  4431. AddArraySlot(bp1, 28);
  4432. AddArraySlot(b1.list, {    // 48
  4433.     level: 3,
  4434.     item: c133
  4435. });
  4436. AddArraySlot(bp1, 28);
  4437. AddArraySlot(b1.list, {    // 49
  4438.     level: 2,
  4439.     item: c135
  4440. });
  4441. AddArraySlot(bp1, 29);
  4442. AddArraySlot(b1.list, {    // 50
  4443.     level: 3,
  4444.     item: c136
  4445. });
  4446. AddArraySlot(bp1, 29);
  4447. AddArraySlot(b1.list, {    // 51
  4448.     level: 3,
  4449.     item: c138
  4450. });
  4451. AddArraySlot(bp1, 29);
  4452. AddArraySlot(b1.list, {    // 52
  4453.     level: 3,
  4454.     item: c140
  4455. });
  4456. AddArraySlot(bp1, 29);
  4457. AddArraySlot(b1.list, {    // 53
  4458.     level: 3,
  4459.     item: c142
  4460. });
  4461. AddArraySlot(bp1, 29);
  4462. AddArraySlot(b1.list, {    // 54
  4463.     level: 3,
  4464.     item: c144
  4465. });
  4466. AddArraySlot(bp1, 29);
  4467. AddArraySlot(b1.list, {    // 55
  4468.     level: 3,
  4469.     item: c146
  4470. });
  4471. AddArraySlot(bp1, 29);
  4472. AddArraySlot(b1.list, {    // 56
  4473.     level: 3,
  4474.     item: c148
  4475. });
  4476. AddArraySlot(bp1, 29);
  4477. AddArraySlot(b1.list, {    // 57
  4478.     level: 3,
  4479.     item: c150
  4480. });
  4481. AddArraySlot(bp1, 29);
  4482. AddArraySlot(b1.list, {    // 58
  4483.     level: 3,
  4484.     item: c152
  4485. });
  4486. AddArraySlot(bp1, 29);
  4487. AddArraySlot(b1.list, {    // 59
  4488.     level: 3,
  4489.     item: c154
  4490. });
  4491. AddArraySlot(bp1, 30);
  4492. AddArraySlot(b1.list, {    // 60
  4493.     level: 3,
  4494.     item: c156
  4495. });
  4496. AddArraySlot(bp1, 30);
  4497. AddArraySlot(b1.list, {    // 61
  4498.     level: 3,
  4499.     item: c158
  4500. });
  4501. AddArraySlot(bp1, 30);
  4502. AddArraySlot(b1.list, {    // 62
  4503.     level: 3,
  4504.     item: c160
  4505. });
  4506. AddArraySlot(bp1, 30);
  4507. AddArraySlot(b1.list, {    // 63
  4508.     level: 3,
  4509.     item: c162
  4510. });
  4511. AddArraySlot(bp1, 30);
  4512. AddArraySlot(b1.list, {    // 64
  4513.     level: 3,
  4514.     item: c164
  4515. });
  4516. AddArraySlot(bp1, 30);
  4517. AddArraySlot(b1.list, {    // 65
  4518.     level: 3,
  4519.     item: c166
  4520. });
  4521. AddArraySlot(bp1, 30);
  4522. AddArraySlot(b1.list, {    // 66
  4523.     level: 3,
  4524.     item: c168
  4525. });
  4526. AddArraySlot(bp1, 30);
  4527. AddArraySlot(b1.list, {    // 67
  4528.     level: 3,
  4529.     item: c170
  4530. });
  4531. AddArraySlot(bp1, 30);
  4532. AddArraySlot(b1.list, {    // 68
  4533.     level: 3,
  4534.     item: c172
  4535. });
  4536. AddArraySlot(bp1, 31);
  4537. AddArraySlot(b1.list, {    // 69
  4538.     level: 3,
  4539.     item: c174
  4540. });
  4541. AddArraySlot(bp1, 31);
  4542. AddArraySlot(b1.list, {    // 70
  4543.     level: 3,
  4544.     item: c176
  4545. });
  4546. AddArraySlot(bp1, 31);
  4547. AddArraySlot(b1.list, {    // 71
  4548.     level: 3,
  4549.     item: c178
  4550. });
  4551. AddArraySlot(bp1, 31);
  4552. AddArraySlot(b1.list, {    // 72
  4553.     level: 3,
  4554.     item: c180
  4555. });
  4556. AddArraySlot(bp1, 31);
  4557. AddArraySlot(b1.list, {    // 73
  4558.     level: 3,
  4559.     item: c182
  4560. });
  4561. AddArraySlot(bp1, 31);
  4562. AddArraySlot(b1.list, {    // 74
  4563.     level: 3,
  4564.     item: c185
  4565. });
  4566. AddArraySlot(bp1, 31);
  4567. AddArraySlot(b1.list, {    // 75
  4568.     level: 3,
  4569.     item: c187
  4570. });
  4571. AddArraySlot(bp1, 32);
  4572. AddArraySlot(b1.list, {    // 76
  4573.     level: 3,
  4574.     item: c189
  4575. });
  4576. AddArraySlot(bp1, 32);
  4577. AddArraySlot(b1.list, {    // 77
  4578.     level: 3,
  4579.     item: c191
  4580. });
  4581. AddArraySlot(bp1, 32);
  4582. AddArraySlot(b1.list, {    // 78
  4583.     level: 3,
  4584.     item: c193
  4585. });
  4586. AddArraySlot(bp1, 32);
  4587. AddArraySlot(b1.list, {    // 79
  4588.     item: c195
  4589. });
  4590. AddArraySlot(bp1, 33);
  4591. AddArraySlot(b1.list, {    // 80
  4592.     level: 2,
  4593.     item: c196
  4594. });
  4595. AddArraySlot(bp1, 33);
  4596. AddArraySlot(b1.list, {    // 81
  4597.     level: 2,
  4598.     item: c201
  4599. });
  4600. AddArraySlot(bp1, 37);
  4601. AddArraySlot(b1.list, {    // 82
  4602.     item: c207
  4603. });
  4604. AddArraySlot(bp1, 39);
  4605. AddArraySlot(b1.list, {    // 83
  4606.     level: 2,
  4607.     item: c208
  4608. });
  4609. AddArraySlot(bp1, 39);
  4610. AddArraySlot(b1.list, {    // 84
  4611.     level: 2,
  4612.     item: c210
  4613. });
  4614. AddArraySlot(bp1, 40);
  4615. AddArraySlot(b1.list, {    // 85
  4616.     level: 2,
  4617.     item: c212
  4618. });
  4619. AddArraySlot(bp1, 41);
  4620. AddArraySlot(b1.list, {    // 86
  4621.     item: c214
  4622. });
  4623. AddArraySlot(bp1, 43);
  4624. AddArraySlot(b1.list, {    // 87
  4625.     level: 2,
  4626.     item: c215
  4627. });
  4628. AddArraySlot(bp1, 43);
  4629. AddArraySlot(b1.list, {    // 88
  4630.     level: 2,
  4631.     item: c217
  4632. });
  4633. AddArraySlot(bp1, 43);
  4634. AddArraySlot(b1.list, {    // 89
  4635.     level: 2,
  4636.     item: c219
  4637. });
  4638. AddArraySlot(bp1, 43);
  4639. AddArraySlot(b1.list, {    // 90
  4640.     level: 2,
  4641.     item: c221
  4642. });
  4643. AddArraySlot(bp1, 44);
  4644. AddArraySlot(b1.list, {    // 91
  4645.     level: 2,
  4646.     item: c223
  4647. });
  4648. AddArraySlot(bp1, 44);
  4649. AddArraySlot(b1.list, {    // 92
  4650.     level: 2,
  4651.     item: c225
  4652. });
  4653. AddArraySlot(bp1, 44);
  4654. AddArraySlot(b1.list, {    // 93
  4655.     level: 2,
  4656.     item: c227
  4657. });
  4658. AddArraySlot(bp1, 45);
  4659. AddArraySlot(b1.list, {    // 94
  4660.     level: 2,
  4661.     item: c229
  4662. });
  4663. AddArraySlot(bp1, 45);
  4664. AddArraySlot(b1.list, {    // 95
  4665.     level: 2,
  4666.     item: c231
  4667. });
  4668. AddArraySlot(bp1, 46);
  4669. AddArraySlot(b1.list, {    // 96
  4670.     level: 2,
  4671.     item: c233
  4672. });
  4673. AddArraySlot(bp1, 46);
  4674. AddArraySlot(b1.list, {    // 97
  4675.     level: 2,
  4676.     item: c235
  4677. });
  4678. AddArraySlot(bp1, 46);
  4679. AddArraySlot(b1.list, {    // 98
  4680.     level: 2,
  4681.     item: c237
  4682. });
  4683. AddArraySlot(bp1, 46);
  4684. AddArraySlot(b1.list, {    // 99
  4685.     level: 2,
  4686.     item: c239
  4687. });
  4688. AddArraySlot(bp1, 46);
  4689. AddArraySlot(b1.list, {    // 100
  4690.     level: 2,
  4691.     item: c241
  4692. });
  4693. AddArraySlot(bp1, 47);
  4694. AddArraySlot(b1.list, {    // 101
  4695.     level: 2,
  4696.     item: c243
  4697. });
  4698. AddArraySlot(bp1, 47);
  4699. AddArraySlot(b1.list, {    // 102
  4700.     level: 2,
  4701.     item: c245
  4702. });
  4703. AddArraySlot(bp1, 47);
  4704. AddArraySlot(b1.list, {    // 103
  4705.     level: 2,
  4706.     item: c247
  4707. });
  4708. AddArraySlot(bp1, 47);
  4709. AddArraySlot(b1.list, {    // 104
  4710.     level: 2,
  4711.     item: c249
  4712. });
  4713. AddArraySlot(bp1, 47);
  4714. AddArraySlot(b1.list, {    // 105
  4715.     level: 2,
  4716.     item: c251
  4717. });
  4718. AddArraySlot(bp1, 48);
  4719. AddArraySlot(b1.list, {    // 106
  4720.     level: 2,
  4721.     item: c253
  4722. });
  4723. AddArraySlot(bp1, 48);
  4724. AddArraySlot(b1.list, {    // 107
  4725.     level: 2,
  4726.     item: c255
  4727. });
  4728. AddArraySlot(bp1, 48);
  4729. AddArraySlot(book.browsers, b1);
  4730. AddArraySlot(pageList.contents, bp1);
  4731.  
  4732.